Ergonomic man-machine interface incorporating adaptive pattern recognition based control system

ABSTRACT

An adaptive interface for a programmable system, for predicting a desired user function, based on user history, as well as machine internal status and context. The apparatus receives an input from the user and other data. A predicted input is presented for confirmation by the user, and the predictive mechanism is updated based on this feedback. Also provided is a pattern recognition system for a multimedia device, wherein a user input is matched to a video stream on a conceptual basis, allowing inexact programming of a multimedia device. The system analyzes a data stream for correspondence with a data pattern for processing and storage. The data stream is subjected to adaptive pattern recognition to extract features of interest to provide a highly compressed representation which may be efficiently processed to determine correspondence. Applications of the interface and system include a VCR, medical device, vehicle control system, audio device, environmental control system, securities trading terminal, and smart house. The system optionally includes an actuator for effecting the environment of operation, allowing closed-loop feedback operation and automated learning.

The present application is a continuation of U.S. patent applicationSer. No. 12/271,602, filed Nov. 14, 2008, which is a reissue applicationof U.S. Pat. No. 7,136,710, which granted on Nov. 14, 2006 from U.S.patent application Ser. No. 08/469,589, filed on Jun. 6, 1995, which isa continuation-in-part of U.S. patent application Ser. No. 07/812,805,filed Dec. 23, 1991, now U.S. Pat. No. 5,903,454. This application isalso a reissue application of the above-mentioned U.S. Pat. No.7,136,710. This application is therefore a continuation reissue. U.S.patent application Ser. No. 14/411,930, filed on the same date as thisapplication, is also a reissue application of the above-mentioned U.S.Pat. No. 7,136,710.

A portion of the disclosure of this patent document and appendicescontain material which is subject to copyright protection. The copyrightowner has no objection to the facsimile reproduction by anyone of thispatent document or the patent disclosure, as it appears in the U.S.Patent and Trademark Office patent file or records, but otherwisereserves all copyright rights whatsoever.

FIELD OF THE INVENTION

The present invention relates to the field of programmable man-machineinterfaces, for general or special purpose computing or sequencingdevices. The present interface system is ergonomically adapted toprovide an optimized environment for human interaction with the device.The present system preferably employs a graphical direct-manipulationstyle interface. The present invention provides an enhanced interfacefor facilitating human input of a desired information and for modifyinginformation previously entered information.

BACKGROUND OF THE INVENTION

Significant difficulties are experienced by users when complexprogrammable devices having multiple commands which are infrequentlyused or programmed by those users. Further, when a user attempts to usean uncommon or rarely used function of these devices, which may be, forexample video cassette recorders (hereinafter “VCRs”) difficulties arealso encountered. For example, studies have concluded that 80% of userscannot correctly program their VCRs. This has been due, in part, to thefact that manufacturers continue to add more features to existingdevices, without simplifying those which already exist. Another problemhas been the failure of manufacturers to design products in which thecontrol interface adapts to the behavior of the user or to allow asystem to be adaptive to the behaviors of a plurality of users.

People learn most efficiently through the interactive experiences ofdoing, thinking, and knowing. Learning may often be facilitated byobserving an experienced teacher. For ease-of-use, efficiency, and lackof frustration of the user, utilizing the device should be intuitive.Users should be able to operate the device without referring to aninstruction manual. Often, actual working examples are helpful.Well-designed products should contain visual clues which prompt andconvey their meanings, however, prior art devices do not always live upto this ideal. This problem of insufficient perceptual clues to cue theuser as to the identity and nature of available choices is accentuatedby various manufacturers and designers who focus on the production anddesign of feature-rich systems, rather than on ones which are also “UserFriendly” and thus easier to use. Therefore, many products are extremelycomplex and thus difficult to use, thereby preventing all but the mosttechnically advanced people from using them. Other products are simpleto use for a low level of functionality, but make it extremely difficultto transcend an arbitrary barrier set by the interface designer.

Some display systems have a higher available resolution than others, andthe interface is preferably arranged to optimize the intended displayfor the resolution limits and display format of the intended oravailable display device. Further, even with sufficient resolution,certain displays are of small size, and thus the visibility of theinformation may also be optimized by taking into consideration the size,resolution, contrast, brightness of the display, ambient conditions,characteristics of the human visual system, factors specific for a knownuser, and the available options of the apparatus. Thus, the interfacemay employ a number of methods to optimize the visibility of theinformation for a variety of display devices, storage formats andtransmission standards. Known display standards and types include:National Television Standards Committee (NTSC), Phase Alternate Line(PAL), Sequential Coleur à Memoire (SECAM), Comité ConsultatifInternational des Radio-communications (International Radio ConsultativeCommittee, Geneva, Switzerland) (CCIR) standard 601 (encoding parametersfor digital television); High Definition Television (HDTV), MultipleSideband Encoding (MUSE), Improved Definition Television (IDTV), VideoHome System (VHS), Super-Video Home System (S-VHS), Beta, SuperBeta, 8mm, Hi-8 mm, videotel or picturephone (Px64), InternationalTelecommunication Union (ITU) standard H.261, Motion Picture ExpertsGroup (MPEG) 1, MPEG-2, Joint Photographic Experts Group (JPEG),computer display standards (Color Graphics Adapter (CGA), HerculesGraphic Card (HGC), Enhanced Graphics Adapter (EGA), Video GraphicsArray (VGA), Super Video Graphics Array (SVGA), extended Graphics Array(XGA), Macintosh®, 8514/A (IBM high resolution video standard), PrivateEye® (a small reflection scanned light emitting diode (LED line arrayfor projecting a virtual image in front of the eye, available fromReflection Technology, Inc.), Liquid Crystal Display (LCD), etc., eachof which may have a number of size ranges, e.g. about 1 cm² to about 10m², with a resolution range including displays having about 16 dotmatrix characters or more or about 16 by 64 pixels to about 2,048 by2,048 pixels. Techniques such as antialiasing, font substitution,hinting, precompensating for expected distortion, etc., are all knownemployed to improve the readability of the display under variouscircumstances.

PRIOR ART

The prior art details a number of components of the present invention,and in fact, in a number of areas the present invention builds upon theprior art by adding novel aspects disclosed herein to result inimprovements. Therefore, as set forth below, and in the attachedappendix of references (including abstracts), incorporated herein byreference, a significant number of references detail fundamentaltechnologies which may be improved according to the present invention.To the extent necessary, these technologies are disclosed and areexpressly incorporated herein by reference to avoid duplication of priorart teachings. Recitation hereinbelow of these teachings or reference tothese teachings is not meant to imply that the inventors hereof werenecessarily in any way involved in these references, nor that theparticular improvements recited herein were made or conceived after thepublication of these references. Thus, prior art cited herein isintended to (1) disclose information related to the applicationpublished before the filing hereof; (2) define the problem in the art towhich the present invention is directed, (3) define prior art methods ofsolving various problems also addressed by the present invention; (4)define the state of the art with respect to methods disclosed orreferenced herein; and/or (5) detail technologies used to implementmethods or apparatus in accordance with the present invention.

Human Interface

One aspect of the present invention relates to a programmable devicethat comprises a menu-driven interface in which the user entersinformation using a direct manipulation input device. Such a type ofinterface scheme is disclosed in Verplank, William L., “Graphics inHuman-Computer Communication: Principles of Graphical User-InterfaceDesign”, Xerox Office Systems, which is incorporated herein byreference; the references cited therein: Foley, J. D., Wallace, V. L.,Chan, P., “The Human Factor of Computer Graphics InteractionTechniques”, IEEE CG&A, November 1984, pp. 1348; Koch, H., “ErgonomischeBetrachtung von Schreibtastaturen”, Humane Production, 1, pp. 12-15(1985); Norman, D. A., Fisher, D., “Why Alphabetic Keyboards Are NotEasy To Use: Keyboard Layout Doesn't Much Matter”, Human Factors 24(5),pp. 509-519 (1982); Perspectives: High Technology 2, 1985; Knowlton, K.,“Virtual Pushbuttons as a Means of Person-Machine Interaction”, Proc ofConf. Computer Graphics, Pattern Recognition and Data Structure, BeverlyHills, Calif., May 1975, pp. 350-352; “Machine Now Reads, entersInformation 25 Times Faster Than Human Keyboard Operators”, InformationDisplay 9, p. 18 (1981); “Scanner Converts Materials to Electronic Filesfor PCs”, IEEE CG&A, December 1984, p. 76; “New Beetle Cursor DirectorEscapes All Surface Constraints”, Information Display 10, p. 12, 1984;Lu, C., “Computer Pointing Devices: Living With Mice”, High Technology,January 1984, pp. 61-65; “Finger Painting”, Information Display 12, p.18, 1981; Kraiss, K. F., “Neuere Methoden der Interaktion an derSchnittstelle Mensch-Maschine”, Z. F. Arbeitswissenschaft, 2, pp. 65-70,1978; Hirzinger, G., Landzettel, K., “Sensory Feedback Structures forRobots with Supervised Learning”, IEEE Conf. on Robotics and Automation,St. Louis, March 1985; Horgan, H., “Medical Electronics”, IEEE Spectrum,January 1984, pp. 90-93, are also incorporated herein by reference.

The following references, expressly incorporated herein by reference,are relevant to the interface aspects of the present invention, certainof which are incorporated by reference in U.S. patent application Ser.No. 07/812,805, incorporated herein by reference:

-   -   Hoffberg, Linda I, “AN IMPROVED HUMAN FACTORED INTERFACE FOR        PROGRAMMABLE DEVICES: A CASE STUDY OF THE VCR” Master's Thesis,        Tufts University (Master of Sciences in Engineering Design,        November, 1990).    -   “Bar Code Programs VCR”, Design News, Feb. 1, 1988, 26.    -   “The Highs and Lows of Nielsen Homevideo Index”, Marketing &        Media Decisions, November 1985, 84-86+.    -   “The Quest for ‘User Friendly’”, U.S. News & World Report, Jun.        13, 1988. 54-56.    -   “The Smart House: Human Factors in Home Automation”, Human        Factors in Practice, December 1990, 1-36.    -   “VCR, Camcorder Trends”, Television Digest, Vol. 29:16 (Mar. 20,        1989).    -   Abedini, Kamran, “An Ergonomically-improved Remote Control Unit        Design”, Interface '87 Proceedings, 375-380.    -   Abedini, Kamran, and Hadad, George, “Guidelines For Designing        Better VCRs”, Report No. IME 462, Feb. 4, 1987.    -   Bensch, U., “VPV—VIDEOTEXT PROGRAMS VIDEORECORDER”, IEEE        Transactions on Consumer Electronics, 34(3):788-792.    -   Berger, Ivan, “Secrets of the Universals”, Video, February 1989,        4547+.    -   Beringer, D. B., “A Comparative Evaluation of Calculator Watch        Data Entry Technologies: Keyboards to Chalkboards”, Applied        Ergonomics, December 1985, 275-278.    -   Bishop, Edward W., and Guinness, G. Victor Jr., “Human Factors        Interaction with Industrial Design”, Human Factors, 8(4):279-289        (August 1966).    -   Brown, Edward, “Human Factors Concepts For Management”,        Proceedings of the Human Factors Society, 1973, 372-375.    -   Bulkeley, Debra, “The Smartest House in America”, Design News,        Oct. 19, 1987, 56-61.    -   Card, Stuart K., “A Method for Calculating Performance times for        Users of Interactive Computing Systems”, IEEE, 1979, 653-658.    -   Carlson, Mark A., “Design Goals for an Effective User        Interface”, Electro/82 Proceedings, 3/1/1-3/1/4.    -   Carlson, Mark A., “Design Goals for an Effective User        Interface”, Human Interfacing with Instruments, Session 3.    -   Carroll, Paul B., “High Tech Gear Draws Cries of “Uncle”, Wall        Street Journal, Apr. 27, 1988, 29.    -   Cobb, Nathan, “I don't get it”, Boston Sunday Globe Magazine,        Mar. 25, 1990, 23-29.    -   Davis, Fred, “The Great Look-and-Feel Debate”, A+, 5:9-11 (July        1987).    -   Dehning, Waltraud, Essig Heidrun, and Maass, Susanne, The        Adaptation of Virtual Man-Computer Interfaces to User        Requirements in Dialogs, Germany: Springer-Verlag, 1981.    -   Ehrenreich, S. L., “Computer Abbreviations—Evidence and        Synthesis”, Human Factors, 27(2):143-155 (April 1985).    -   Friedman, M. B., “An Eye Gaze Controlled Keyboard”, Proceedings        of the 2nd International Conference on Rehabilitation        Engineering, 1984, 446-447.    -   Gilfoil, D., and Mauro, C. L., “Integrating Human Factors and        Design: Matching Human Factors Methods up to Product        Development”, C. L. Mauro Assoc., Inc., 1-7.    -   Gould, John D., Boies, Stephen J., Meluson, Antonia, Rasammy,        Marwan, and Vosburgh, Ann Marie, “Entry and Selection Methods        For Specifying Dates”. Human Factors, 32(2):199-214 (April        1989).    -   Green, Lee, “Thermo Tech: Here's a common sense guide to the new        thinking thermostats”, Popular Mechanics, October 1985, 155-159.    -   Grudin, Jonathan, “The Case Against User Interface Consistency”,        MCC Technical Report Number ACA-HI-002-89, January 1989.    -   Harvey, Michael G., and Rothe, James T., “VideoCassette        Recorders: Their Impact on Viewers and Advertisers”, Journal of        Advertising, 25:19-29 (December/January 1985).    -   Hawkins, William J., “Super Remotes”, Popular Science, February        1989, 76-77.    -   Henke, Lucy L., and Donohue, Thomas R., “Functional Displacement        of Traditional TV Viewing by VCR Owners”, Journal of Advertising        Research, 29:18-24 (April-May 1989).

Hoban, Phoebe, “Stacking the Decks”, New York, Feb. 16, 1987, 20:14.“How to find the best value in VCRs”, Consumer Reports, March 1988,135-141.

Howard, Bill, “Point and Shoot Devices”, PC Magazine, 6:95-97 (August1987).

Jane Pauley Special, NBC TV News Transcript, Jul. 17, 1990, 10:00 PM.

Kolson, Ann, “Computer wimps drown in a raging sea of technology”, TheHartford Courant, May 24, 1989, B1.

Kreifeldt, J. G., “A Methodology For Consumer Product Safety Analysis”,The 3rd National Symposium on Human Factors in Industrial Design inConsumer Products, August 1982, 175-184.

Kreifeldt, John, “Human Factors Approach to Medical Instrument Design”,Electro/82 Proceedings, 3/3/1-3/3/6.

Kuocheng, Andy Poing, and Ellingstad, Vernon S., “Touch Tablet and TouchInput”, Interface '87, 327.

Ledgard, Henry, Singer, Andrew, and Whiteside, John, Directions in HumanFactors for Interactive Systems, New York, Springer-Verlag, 1981.

Lee, Eric, and MacGregor, James, “Miniming User Search Time MenuRetrieval Systems”, Human Factors, 27(2): 157-162 (April 1986).

-   -   Leon, Carol Boyd, “Selling Through the VCR”, American        Demographics, December 1987, 4043.    -   Long, John, “The Effect of Display Format on the Direct Entry of        Numerical Information by Pointing”, Human Factors, 26(1):3-17        (February 1984). “Low-Cost VCRs: More For Less”, Consumer        Reports, March 1990, 168-172.    -   Mantei, Marilyn M., and Teorey, Toby J., “Cost/Benefit Analysis        for Incorporating Human Factors in the Software Lifecycle”,        Association for Computing Machinery, 1988.    -   Meads, Jon A., “Friendly or Frivolous”, Datamation, Apr. 1,        1988, 98-100.    -   Moore, T. G. and Dartnall, “Human Factors of a Microelectronic        Product: The Central Heating Timer/Programmer”, Applied        Ergonomics, 1983, 13(1):15-23.    -   “Nielsen Views VCRs”, Television Digest, Jun. 23, 1988, 15.    -   Norman, Donald A., “Infuriating By Design”, Psychology Today,        22(3):52-56 (March 1988).    -   Norman, Donald A., The Psychology of Everyday Things, New York,        Basic Book, Inc. 1988.    -   Platte, Hans-Joachim, Oberjatzas, Gunter, and Voessing, Walter,        “A New Intelligent Remote Control Unit for Consumer Electronic        Device”, IEEE Transactions on Consumer Electronics, Vol.        CE-31(1):59-68 (February 1985).    -   Rogus, John G. and Armstrong, Richard, “Use of Human Engineering        Standards in Design”, Human Factors, 19(1):15-23 (February        1977).    -   Rosch, Winn L., “Voice Recognition: Understanding the Master's        Voice”, PC Magazine, Oct. 27, 1987, 261-308.    -   Sarver, Carleton, “A Perfect Friendship”, High Fidelity, 39:4249        (May 1989).    -   Schmitt, Lee, “Let's Discuss Programmable Controllers”, Modem        Machine Shop, May 1987, 90-99.    -   Schniederman, Ben, Designing the User Interface: Strategies for        Effective Human-Computer Interaction, Reading, Mass.,        Addison-Wesley, 1987.    -   Smith, Sidney J., and Mosier, Jane N., Guidelines for Designing        User Interface Software, Bedford, Mass., MITRE, 1986.    -   Sperling, Barbara Bied, Tullis Thomas S., “Are You a Better        ‘Mouser’ or ‘Trackballer’? A Comparison of Cursor—Positioning        Performance”, An Interactive/Poster Session at the CHI+GI'87        Graphics Interface and Human Factors in Computing Systems        Conference.    -   Streeter, L. A., Ackroff, J. M., and Taylor, G. A. “On        Abbreviating Command Names”, The Bell System Technical Journal,        62(6):1807-1826 (July/August 1983).    -   Swanson, David, and Klopfenstein, Bruce, “How to Forecast VCR        Penetration”, American Demographic, December 1987, 4445.    -   Tello, Ernest R., “Between Man And Machine”, Byte, September        1988, 288-293.    -   Thomas, John, C., and Schneider, Michael L., Human Factors in        Computer Systems, New Jersey, Ablex Publ. Co., 1984.    -   Trachtenberg, Jeffrey A., “How do we confusse thee? Let us count        the ways”, Forbes, Mar. 21, 1988, 159-160.    -   Tyldesley, D. A., “Employing Usability Engineering in the        Development of Office Products”, The Computer Journal”,        31(5):431-436 (1988). “VCR's: A Look At The Top Of The Line”,        Consumer Reports, March 1989, 167-170.    -   Verplank, William L., “Graphics in Human-Computer Communication:        Principles of Graphical User-Interface Design”, Xerox Office        Systems. “VHS Videocassette Recorders”, Consumer Guide, 1990,        17-20.    -   Voyt, Carlton F., “PLC's Learn New Languages”, Design News, Jan.        2, 1989, 78.    -   Whitefield, A. “Human Factors Aspects of Pointing as an Input        Technique in Interactive Computer Systems”, Applied Ergonomics,        June 1986, 97-104.    -   Wiedenbeck, Susan, Lambert, Robin, and Scholtz, Jean, “Using        Protocol Analysis to Study the User Interface”, Bulletin of the        American Society for Information Science, June/July 1989, 25-26.    -   Wilke, William, “Easy Operation of Instruments by Both Man and        Machine”. Electro/82 Proceedings, 3/2/1-3/2/4.

Yoder, Stephen Kreider, “U.S. Inventors Thrive at Electronics Show”, TheWall Street Journal, Jan. 10, 1990, B1.

Zeisel, Gunter, Tomas, Philippe, Tomaszewski, Peter, “An InteractiveMenu-Driven Remote Control Unit for TV-Receivers and VC-Recorders”, IEEETransactions on Consumer Electronics, 34(3):814-818.

A menu based remote control-contained display device is disclosed inPlatte, Oberjatzas, and Voessing, “A New Intelligent Remote Control Unitfor Consumer Electronic Device”, IEEE Transactions on ConsumerElectronics, Vol. CE-31, No. 1, February 1985, 59-68, incorporatedherein by reference. This system does not incorporate on-screenprogramming, nor various aspects of the display of the presentinvention.

A directional or direct manipulation-type sensor based infrared remotecontrol is disclosed in Zeisel, Tomas, Tomaszewski, “An InteractiveMenu-Driven Remote Control Unit for TV-Receivers and VC-Recorders”, IEEETransactions on Consumer Electronics, Vol. 34, No. 3, 814-818 (1988),incorporated herein by reference, which relates to a control forprogramming with the West German Videotext system. This is a differentimplementation of the Videotext programming system than described inBensch, U., “VPV—VIDEOTEXT PROGRAMS VIDEORECORDER”, IEEE Transactions onConsumer Electronics, Vol. 34, No. 3, 788-792 (1988), incorporatedherein by reference, which describes the system of Video Program SystemSignal Transmitters, in which the VCR is programmed by entering a codefor the Video Program System signal, which is emitted by televisionstations in West Germany. Each separate program has a unique identifiercode, transmitted at the beginning of the program, so that a user needonly enter the code for the program, and the VCR will monitor thechannel for the code transmission, and begin recording when the code isreceived, regardless of schedule changes. The Videotext ProgramsRecorder (VPV) disclosed does not intelligently interpret thetransmission, rather the system reads the transmitted code as a literallabel, without any analysis or determination of a classification of theprogram type.

Known manual input devices include the trackball, mouse, and joystick.In addition, other devices are known, including the so-called “J-cursor”or “mousekey” which embeds a two (x,y) or three (x,y,p) axis pressuresensor in a button conformed to a finger, present in a general purposekeyboard; a keyboard joystick of the type described in ElectronicEngineering Times, Oct. 28, 1991, p. 62, “IBM Points a New Way”; aso-called “isobar” which provides a two axis input by optical sensors(θ,x), a two and one half axis (x,y,digital input) input device, such asa mouse or a “felix” device, infrared, acoustic, etc.; position sensorsfor determining the position of a finger or pointer on a display screen(touch-screen input) or on a touch surface, e.g., “GlidePoint”(ALPS/Cirque); goniometer input (angle position, such as human jointposition detector), etc. Many of such suitable devices are summarized inKraiss, K. F., “Alternative Input Devices For Human ComputerInteraction”, Forschunginstitut Fur Anthropotecahnik, Werthhoven, F. R.Germany, incorporated herein by reference. A new device, which may alsobe suitable is the GyroPoint, available from Gyration Inc., whichprovides 2-D or 3-D input information in up to six axes of motion:height, length, depth, roll, pitch and yaw. While such a device isgenerally considered too complex and costly for use with a VCR, and istherefore not most preferred for a VCR embodiment, the many degrees offreedom available may provide suitable input for other types ofcontrollers, such as those based on “Virtual Reality” or which track amoving object, where many degrees of freedom and a high degree of inputaccuracy is required. The Hallpot, a device which pivots a magnet abouta Hall effect sensor to produce angular orientation information, a pairof which may be used to provide information about two axes ofdisplacement, available from Elweco, Inc, Willoughby, Ohio, may also beemployed as an input device.

These input devices may be broken down into a number of categories:direct inputs, i.e. touch-screen and light pen; indirect inputs, i.e.trackball, joystick, mouse, touch-tablet, bar code scanner (see, e.g.,Atkinson, Terry, “VCR Programming: Making Life Easier Using Bar Codes”),keyboard, and multi-function keys; and interactive input, i.e. Voiceactivation/instructions (see, e.g., Rosch, Winn L., “Voice Recognition:Understanding the Master's Voice”, PC Magazine, Oct. 27, 1987, 261-308);and eye tracker and data suit/data glove (see, e.g. Tello, Ernest R.,“Between Man And Machine”, Byte, September 1988, 288-293; products ofEXOS, Inc; Data Glove).

Each of the aforementioned input devices has advantages anddisadvantages, which are summarized in the table below.

TABLE DEVICE ADVANTAGES DISADVANTAGES Touch-Screen: a device accurate.fast. “natural” Doesn't show location which allows users to pointingdevice. Hand of the cursor on screen. point directly to the obscuresview. Difficult Requires overlay. screen to enter their with curvedscreens. Requires frequent choices. cleaning. Expensive. Must be withinreach envelope. Light Pen: a pen shaped Points to the screen.Inexpensive. Inaccu- device with which the rate. Awkward to use. userstouch the screen to Pen needs a storage select their choices. location.Must be within reach envelope. Trackball: a ball mounted Can be mountedand on a stationary object; the used anywhere. Does ball's rollingmotion not require a horizontal controls the cursor. surface. Quick touse. Joystick: a stick mounted Can be mounted and Clumsy for cursor on aobject; the stick's used anywhere. Does control. movement controls thenot require a horizontal cursor. surface. Mouse: a ball mounted on Mosteffective for Requires a horizontal the bottom of a movable pointing andselecting surface area. object, which is rolled on objects on thescreen. a horizontal surface to Popular. control the cursor.Touch-Tablet: a pad Activated with fingers Small interface. Remote whichsits on a horizontal or stylus. from display. surface on which selec-tions are made by using a finger or stylus. Keyboard: a device whichRequires a horizontal lies on horizontal surface surface. Large. Manyand has alphanumeric keys. keys on which to type information.Multi-Function Keys: Inexpensive. Space Confusing. buttons which servemore efficient. than one function. Bar Code Scanner: a Quick if Barcodeis May require several wand which must be present in TV directory. triesto send data. wiped over a bar code Tedious if Barcode is to type enterinfor- not available in the TV mation. Pressing a directory. button thensignals the controlling device. Voice: the use of the Frees hands.Enables Requires training. human voice to give disabled persons to useAffected by surround- speech prompts or to the device. ing noises. Lowaccept commands. accuracy. Expensive. Limited vocabulary. sensitive todifferences in languages, accents, and speech patterns. Eye Tracker: anoptical Frees hands. Enables Expensive. Inaccurate. scanner which isactivated disabled persons to use by the human eye. the device. DataSuit/Data Glove: a Reacts to hand and Expensive. Computer Suit or glovewhich is body gestures. Gives a intensive. controlled by manipula- 3-Dimage. tion of an on-screen “Virtual Image”. It is controlled by opticalfibers which measure the degree of bending.

Recent studies suggest that a “direct manipulation” style of interfacehas advantages for menu selection tasks. This type of interface providesvisual objects on the screen which can be manipulated by “pointing” and“clicking” on the them. For example, the popular Graphical UserInterfaces (“GUIs”), known in the art, use a direct manipulation styleinterface. A device such as a touch-screen, with a more naturalselection technique, is technically preferable to the directmanipulation method. However, its low accuracy and high cost make otherinputs more commercially practical. In addition, the user must be withinarms' length of the touch-screen display. In a cursor positioning task,Albert (1982) found the trackball to be the most accurate pointingdevice and the touch-screen to be the least accurate when compared withother input devices such as the light pen, joystick, data tablet,trackball, and keyboard. Epps (1986) found both the mouse and trackballto be somewhat faster than both the touch-pad and joystick, but heconcluded that there were no significant performance differences betweenthe mouse and trackball as compared with the touch-pad and joystick.

It is noted that many present devices, intended for use in computershaving graphic interfaces, would advantageously make use of an inputdevice which is accessible, without the necessity of moving the user'shands from the keyboard. Thus, for example, Electronic Engineering Times(EET), Oct. 28, 1991, p. 62, incorporated herein by reference, disclosesa miniature joystick incorporated into the functional area of thekeyboard. This technique does not employ any minimization of the numberof keys.

In a study of menu selection tasks comparing the mouse and thetrackball, the accuracy data showed no significant difference betweenthe two. The key finding shows that both mouse users and trackball usersperformed better with the trackball on the menu selection task. Itshould be noted that this was not the case for all tasks. The definitionof the menu selection task used by Sperling, Bied, Tullis, in “Are You aBetter ‘Mouser’ or ‘Trackballer’? A Comparison of Cursor—PositioningPerformance”, Interactive/Poster Session at the CHI+GI'87 GraphicsInterface and Human Factors in Computing Systems Conference,incorporated herein by reference, involves moving the cursor through alist of items and making a selection.

Pattern Recognition

The following cited patents and publications are relevant to patternrecognition and control aspects of the present invention, and are hereinexpressly incorporated by reference:

U.S. Pat. No. 5,067,163, incorporated herein by reference, discloses amethod for determining a desired image signal range from an image havinga single background, in particular a radiation image such as a medicalX-ray. This reference teaches basic image enhancement techniques.

U.S. Pat. No. 5,068,664, incorporated herein by reference, discloses amethod and device for recognizing a target among a plurality of knowntargets, by using a probability based recognition system. This patentdocument cites a number of other references, each incorporated herein byreference, which are relevant to the problem of image recognition:

-   -   Vannicola et al, “Applications of Knowledge based Systems to        Surveillance”, Proceedings of the 1988 IEEE National Radar        Conference, 20-21 April 1988, pp. 157-164;    -   Ksienski et al., “Low Frequency Approach to Target        Identification”, Proc. of the IEEE, 63(12):1651-1660 (December        1975);    -   Appriou, A., “Interet des theories de l'incertain en fusion de        donnees”, Colloque International sur le Radar Paris, 24-28 avril        1989;    -   Appriou, A., “Procedure d'aide a la decision multi-informateurs.        Applications a la classification multiapteurs de cibles”,        Symposiumn de l'Avionics Panel (AGARD) Turquie, 25-29 avril        1988;    -   Arrow, K. J., “Social choice and individual valves”, John Wiley        and Sons Inc. (1963);    -   Blair, D., R. Pollack, “La logique du choix collectif” Pour la        Science (1983);    -   Scharlic, A., “Decider sur plusieurs criteres. Panorama de        l'aide a la decision multicritere” Presses Polytechniques        Romandes (1985);

Keeney, R. L., B. Raiffa, “Decisions with multiple objectives:Preferences and value tradeoffs”, John Wiley and Sons, New York (1976);

-   -   Jeffrey, R. J., “The logic of decision”, The University of        Chicago Press, Ltd., London (1983)(2nd Ed.);    -   Roy, B., “Classements et choix en presence de points de vue        multiples”, R.I.R.O.-2eme annee-no. 8, pp. 57-75 (1968);    -   Roy, B., “Electre III: un algorithme de classements fonde sur        une representation floue des preferences en presence de criteres        multiples”, Cahiers du CERO, 20(1):3-24 (1978);    -   Duda, R. O., P. E. Hart, M. J. Nilsson, “Subjective Bayesian        methods for rule-based inference systems”, Technical Note        124-Artificial Intelligence Center-SRI International;    -   Bhatnagar, R. K., L. N. Kamal, “Handling uncertain information:        a review of numeric and non-numeric methods”, Uncertainty in        Artificial Intelligence, L. N. Kamal and J. F. Lenuner, Eds.        (1986);    -   Dempster, A. P., “Upper and lower probabilities induced by a        multivalued mapping”, Annals of mathematical Statistics, no. 38        (1967);    -   Dempster, A. P., “A generalization of Bayesian inference”,        Journal of the Royal Statistical Society, Vol. 30, Series B        (1968);    -   Shafer, G., “A mathematical theory of evidence”, Princeton        University Press, Princeton, New Jersey (1976);    -   Dubois, D., N. Prade, “Combination of uncertainty with belief        functions: a reexamination”, Proceedings 9th International Joint        Conference on Artificial Intelligence, Los Angeles (1985);    -   Kyburg, H. E., “Bayesian and non Bayesian evidential updating”,        Artificial Intelligence 31:271-293 (1987);    -   Fua, P. V., “Using probability density functions in the        framework of evidential reasoning Uncertainty in knowledge based        systems”, B. Bouchon, R. R. Yager, Eds. Springer Verlag (1987);    -   Chao, J. J., E. Drakopoulos, C. C. Lee, “An evidential reasoning        approach to distributed multiple hypothesis detection”,        Proceedings of the 20th Conference on decision and control, Los        Angeles, Calif., December 1987;    -   Yager, R. R., “Entropy and specificity in a mathematical theory        of Evidence”, Int. J. General Systems, 9:249-260 (1983);    -   Ishizuka, M., “Inference methods based on extended Dempster and        Shafer's theory for problems with uncertainty/fuzziness”, New        Generation Computing, 1: 159-168 (1983), Ohmsha, Ltd, and        Springer Verlag;    -   Zadeh, L. A., “Fuzzy sets”, Information and Control, 8:338-353        (1965);    -   Zadeh, L. A., “Probability measures of fuzzy events”, Journal of        Mathematical Analysis and Applications, 23:421427 (1968);    -   Kaufmann, A., “Introduction a la theorie des sousensembles        flous”, Vol. 1, 2 et 3-Masson-Paris (1975);    -   Sugeno, M., “Theory of fuzzy integrals and its applications”,        Tokyo Institute of Technology (1974);    -   Bellman, R. E., L. A. Zadeh, “Decision making in a fuzzy        environment”, Management Science, 17(4) (December 1970);    -   Dubois, D., N. Prade, “Fuzzy sets and systems-Theory and        applications”, Academic Press, New York (1980);    -   Zadeh, L. A., “Fuzzy sets as a basis for a theory of        possibility”, Fuzzy sets and Systems 1:3-28 (1978);    -   Dubois, D., “Modeles mathematiques de l'imprecis et de        l'incertain en vue d'applications aux techniques d'aide a la        decision”, Doctoral Thesis, University of Grenoble (1983);    -   Dubois, D., N. Prade, “Theorie des possibilites: application a        la representation des connaissances en informatique”, Masson,        Paris (1985).

U.S. Pat. No. 5,067,161, incorporated herein by reference, relates to avideo image pattern recognition system, which recognizes objects in nearreal time.

U.S. Pat. Nos. 4,817,176and 4,802,230, both incorporated herein byreference, relate to harmonic transform methods of pattern matching ofan undetermined pattern to known patterns, and are useful in the patternrecognition method of the present invention. U.S. Pat. No. 4,998,286,incorporated herein by reference, relates to a harmonic transform methodfor comparing multidimensional images, such as color images, and isuseful in the present pattern recognition methods.

U.S. Pat. No. 5,067,166, incorporated herein by reference, relates to apattern recognition system, in which a local optimum match betweensubsets of candidate reference label sequences and candidate templates.It is clear that this method is useful in the pattern recognitionaspects of the present invention. It is also clear that the interfaceand control system of the present invention are useful adjuncts to themethod disclosed in U.S. Pat. No. 5,067,166.

U.S. Pat. No. 5,048,095, incorporated herein by reference, relates tothe use of a genetic learning algorithm to adaptively segment images,which is an initial stage in image recognition. This patent has asoftware listing for this method. It is clear that this method is usefulin the pattern recognition aspects of the present invention. It is alsoclear that the interface and control system of the present invention areuseful adjuncts to the method disclosed in U.S. Pat. No. 5,048,095.

Fractal-Based Image Processing

U.S. Pat. Nos. 5,065,447, and 4,941,193, both incorporated herein byreference, relate to the compression of image data by using fractaltransforms. These are discussed in detail below. U.S. Pat. No. 5,065,447cites a number of references, all incorporated herein by reference,relevant to the use of fractals in image processing:

-   -   U.S. Pat. No. 4,831,659;    -   Barnsley et al., “Hidden Variable Fractal Interpolation        Functions”, School of Mathematics, Georgia Institute of        Technology, Atlanta, Ga. 30332, July, 1986;    -   Barnsley, M. F., and Demko, S., “Iterated Function Systems and        The Global Construction of Fractals”, Proc. R. Soc. Lond.,        A399:243-275 (1985);    -   Barnsley, M. F., Ervin, V., Hardin, D., Lancaster, J., “Solution        of an Inverse Problem for Fractals and Other Sets”, Proc. Natl.        Acad. Sci. U.S.A., 83:1975-1977 (April 1986);    -   “A New Class of Markov Processes for Image Encoding”, School of        Mathematics, Georgia Inst. of Technology (1988), pp. 14-32;    -   “Fractal Modelling of Biological Structures”, Perspectives in        Biological Dynamics and Theoretical Medicine, Koslow, Mandell,        Shlesinger, eds., Annals of New York Academy of Sciences, vol.        504, 179-194 (date unknown);    -   Elton, J., “An Ergodic Theorem for Iterated Maps”, Journal of        Ergodic Theory and Dynamical Systems, 7 (1987);    -   “Construction of Fractal Objects with Iterated Function        Systems”, Siggraph '85 Proceedings, 19(3):271-278 (1985);    -   “Fractal Modelling of Real World Images, Lecture Notes for        Fractals: Introduction, Basics and Perspectives”, Siggraph        (1987);    -   Peterson, Ivars, “Packing It In-Fractals . . . ”, Science News,        131(18):283-285 (May 2, 1987);    -   “Fractal Geometry-Understanding Chaos”, Georgia Tech Alumni        Magazine, p. 16 (Spring 1986);    -   “Fractals-A Geometry of Nature”, Georgia Institute of Technology        Research Horizons, p. 9 (Spring 1986);    -   Fractal Modelling of Biological Structures, School of        Mathematics, Georgia Institute of Technology (date unknown);    -   Barnsley et al., “A Better Way to Compress Images”, Byte        Magazine, January 1988, pp. 213-225;    -   Derra, Skip, “Researchers Use Fractal Geometry, . . . ”,        Research and Development Magazine, March 1988;    -   “Data Compression: Pntng by Numbrs”, The Economist, May 21,        1988;    -   Baldwin, William, “Just the Bare Facts, Please”, Forbes        Magazine, Dec. 12, 1988;    -   Barnsley et al., “Harnessing Chaos For Images Synthesis”,        Computer Graphics, 22(4):131-140 (August, 1988);    -   Barnsley et al., “Chaotic Compression”, Computer Graphics World,        November 1987;    -   Gleick, James, “Making a New Science”, pp. 215, 239, date        unknown.    -   Byte Magazine, January 1988, supra, cites:    -   Mandelbrot, B., “The Fractal Geometry of Nature”, W.H. Freeman &        Co., San Francisco, Calif., 1982, 1977; and    -   Barnsley, M. F., “Fractals Everywhere”, Academic Press, Boston,        Mass., 1988, both of which are also incorporated herein by        reference.

U.S. Pat. No. 5,347,600, incorporated herein by reference, relates to amethod and apparatus for compression and decompression of digital imagedata, using fractal methods. According to this method, digital imagedata is automatically processed by dividing stored image data intodomain blocks and range blocks. The range blocks are subjected toprocesses such as a shrinking process to obtain mapped range blocks. Therange blocks or domain blocks may also be processed by processes such asamine transforms. Then, for each domain block, the mapped range blockwhich is most similar to the domain block is determined, and the addressof that range block and the processes the blocks were subjected to arecombined as an identifier which is appended to a list of identifiers forother domain blocks. The list of identifiers for all domain blocks iscalled a fractal transform and constitutes a compressed representationof the input image. To decompress the fractal transform and recover theinput image, an arbitrary input image is formed into range blocks andthe range blocks processed in a manner specified by the identifiers toform a representation of the original input image.

“Image Compression Using Fractals and Wavelets”, Final Report for thePhase II Contract Sponsored by the Office of Naval Research, ContractNo. N00014-91-C0117, Netrologic Inc., San Diego, Calif. (Jun. 2, 1993),expressly incorporated herein by reference, and attached hereto as anappendix, relates to various methods of compressing image data,including fractals and wavelets. This method may also be applicable inpattern recognition applications. This reference provides theory andcomparative analysis of compression schemes.

A fractal-processing method based image extraction method is describedin Kim, D. H.; Caulfield, H. J.; Jannson, T.; Kostrzewski, A.; Savant,G, “Optical fractal image processor for noise-embedded targetsdetection”, Proceedings of the SPIE—The International Society forOptical Engineering, Vol: 2026 p. 144-9 (1993) (SPIE Conf: Photonics forProcessors, Neural Networks, and Memories 12-15 July 1993, San Diego,Calif., USA), expressly incorporated herein by reference. According tothis paper, a fractal dimensionality measurement and analysis-basedautomatic target recognition (ATR) is described. The ATR is a multi-stepprocedure, based on fractal image processing, and can simultaneouslyperform preprocessing, interest locating, segmenting, featureextracting, and classifying. See also, Cheong, C. K.; Aizawa, K.; Saito,T.; Hatori, M., “Adaptive edge detection with fractal dimension”,Transactions of the Institute of Electronics. Information andCommunication Engineers D-II, J76D-II(11):2459-63 (1993); Hayes, H. I.;Solka, J. L.; Priebe, C. E.; “Parallel computation of fractaldimension”, Proceedings of the SPIE—The International Society forOptical Engineering, 1962:219-30 (1993); Priebe, C. E.; Solka, J. L.;Rogers, G. W., “Discriminant analysis in aerial images using fractalbased features”, Proceedings of the SPIE—The International Society forOptical Engineering, 1962:196-208(1993). See also, Anson, L., “FracalImage Compression”, Byte, October 1993, pp. 195-202; “FractalCompression Goes On-Line”, Byte, September 1993.

Methods employing other than fractal-based algorithms may also be used.See, e.g., Liu, Y., “Pattern recognition using Hilbert space”,Proceedings of the SPIE—The International Society for OpticalEngineering, 1825:63-77 (1992), which describes a learning approach, theHilbert learning. This approach is similar to Fractal learning, but theFractal part is replaced by Hilbert space. Like the Fractal learning,the first stage is to encode an image to a small vector in the internalspace of a learning system. The next stage is to quantize the internalparameter space. The internal space of a Hilbert learning system isdefined as follows: a pattern can be interpreted as a representation ofa vector in a Hilbert space; Any vectors in a Hilbert space can beexpanded. If a vector happens to be in a subspace of a Hilbert spacewhere the dimension L of the subspace is low (order of 10), the vectorcan be specified by its norm, an L-vector, and the Hermitian operatorwhich spans the Hilbert space, establishing a mapping from an imagespace to the internal space P. This mapping converts an input image to a4-tuple: t in P=(Norm, T, N, L-vector), where T is an operator parameterspace, N is a set of integers which specifies the boundary condition.The encoding is implemented by mapping an input pattern into a point inits internal space. The system uses local search algorithm, i.e., thesystem adjusts its internal data locally. The search is first conductedfor an operator in a parameter space of operators, then an errorfunction delta (t) is computed. The algorithm stops at a local minimumof delta (t). Finally, the input training set divides the internal spaceby a quantization procedure. See also, Liu, Y., “Extensions of fractaltheory”, Proceedings of the SPIE—The International Society for OpticalEngineering, 1966:255-68(1993).

Fractal methods may be used for pattern recognition. See, Sadjadi, F.,“Experiments in the use of fractal in computer pattern recognition”,Proceedings of the SPIE—The International Society for OpticalEngineering, 1960:214-22 (1993). According to this reference, man-madeobjects in infrared and millimeter wave (MMW) radar imagery may berecognized using fractal-based methods. The technique is based onestimation of the fractal dimensions of sequential blocks of an image ofa scene and slicing of the histogram of the fractal dimensions computedby Fourier regression. The technique is shown to be effective for thedetection of tactical military vehicles in IR, and of airport attributesin MMW radar imagery.

In addition to spatial self similarity, temporal self-similarity mayalso be analyzed using fractal methods. See, Reusens, E., “Sequencecoding based on the fractal theory of iterated transformations systems”,Proceedings of the SPIE—The International Society for OpticalEngineering, 2094(pt. 1): 132-40(1993), incorporated herein byreference. This reference describes a scheme based on the iteratedfunctions systems theory which relies on a 3D approach in which thesequence is adaptively partitioned. Each partition block can be codedeither by using the spatial self similarities or by exploiting temporalredundancies.

Fractal compression methods may be used for video data for transmission.See, Hurtgen, B.; Buttgen, P., “Fractal approach to low rate videocoding”, Proceedings of the SPIE— The International Society for OpticalEngineering, 2094(pt.1):120-31(1993). This reference relates to a methodfor fast encoding and decoding of image sequences on the basis offractal coding theory and the hybrid coding concept. The differentialpulse code modulation (DPCM) loop accounts for statistical dependenciesof natural image sequences in the temporal direction. Those regions ofthe original image where the prediction, i.e. motion estimation andcompensation, fails are encoded using an advanced fractal coding scheme,suitable for still images, and whose introduction instead of thecommonly used DCT-based coding is advantageous especially at very lowbit rates (8-64 kbit/s). In order to increase reconstruction quality,encoding speed and compression ratio, some additional features such ashierarchical codebook search and multilevel block segmentation may beemployed. This hybrid technique may be used in conjunction with thepresent adaptive interface or other features of the present invention.

Fractal methods may be used to segment an image into objects havingvarious surface textures. See, Zhi-Yan Xie; Brady, M., “Fractaldimension image for texture segmentation”, ICARCV '92. SecondInternational Conference on Automation, Robotics and Computer Vision, p.CV4.3/1-5 vol.1, (1992). According to this reference, the fractaldimension and its change over boundaries of different homogeneoustextured regions is analyzed and used to segment textures in infraredaerial images. Based on the fractal dimension, different textures mapinto different fractal dimension image features, such that there issmooth variation within a single homogeneous texture but sharp variationat texture boundaries. Since the fractal dimension remains unchangedunder linear transformation, this method is robust for dismissingeffects caused by lighting and other extrinsic factors. Morphology isthe only tool used in the implementation of the whole process: texturefeature extraction, texture segmentation and boundary detection. Thismakes possible parallel implementations of each stage of the process.

Rahmati, M.; Hassebrook, L. G., “Intensity- and distortion-invariantpattern recognition with complex linear morphology”, PatternRecognition, 27 (4):549-68(1994) relates to a unified model basedpattern recognition approach is introduced which can be formulated intoa variety of techniques to be used for a variety of applications. Inthis approach, complex phasor addition and cancellation are incorporatedinto the design of filter(s) to perform implicit logical operationsusing linear correlation operators. These implicit logical operationsare suitable to implement high level gray scale morphologicaltransformations of input images. In this way non-linear decisionboundaries are effectively projected into the input signal space yet themathematical simplicity of linear filter designs is maintained. Thisapproach is applied to the automatic distortion- and intensity-invariantobject recognition problem. A set of shape operators or complex filtersis introduced which are logically structured into a filter bankarchitecture to accomplish the distortion and intensity-invariantsystem. This synthesized complex filter bank is optimally sensitive tofractal noise representing natural scenery. The sensitivity is optimizedfor a specific fractal parameter range using the Fisher discriminant.The output responses of the proposed system are shown for target,clutter, and pseudo-target inputs to represent its discrimination andgeneralization capability in the presence of distortion and intensityvariations. Its performance is demonstrated with realistic scenery aswell as synthesized inputs.

Sprinzak, J.; Werman, M., “Affine point matching”, Pattern RecognitionLetters, 15(4):337-9(1994), relates to a pattern recognition method. Afundamental problem of pattern recognition, in general, is recognizingand locating objects within a given scene. The image of an object mayhave been distorted by different geometric transformations such astranslation, rotation, scaling, general affine transformation orperspective projection. The recognition task involves finding atransformation that superimposes the model on its instance in the image.This reference proposes an improved method of superimposing the model.

Temporal Image Analysis

U.S. Pat. No. 5,280,530, incorporated herein by reference, relates to amethod and apparatus for tracking a moving object in a scene, forexample the face of a person in videophone applications, comprisesforming an initial template of the face, extracting a mask outlining theface, dividing the template into a plurality (for example sixteen)sub-templates, searching the next frame to find a match with thetemplate, searching the next frame to find a match with each of thesub-templates, determining the displacements of each of thesub-templates with respect to the template, using the displacements todetermine affine transform coefficients and performing an affinetransform to produce an updated template and updated mask.

U.S. Pat. No. 5,214,504 relates to a moving video image estimationsystem, based on an original video image of time n and time n+1, thecentroid, the principal axis of inertia, the moment about the principalaxis of inertia and the moment about the axis perpendicular to theprincipal axis of inertia are obtained. By using this information, anaffine transformation for transforming the original video image at timen to the original video image at time n+1 is obtained. Based on theinfinitesimal transformation e^(At), and e^(A(t−1)) obtained by makingthe affine transformation continuous with regard to time is executed onthe original video image at time n and time n+1. The results aresynthesized to perform an interpolation between the frames. e^(A(t−1))is applied to the original video system time n+1. The video image aftertime n+1 is thereby protected.

U.S. Pat. No. 5,063,603, incorporated herein by reference, relates to adynamic method for recognizing objects and image processing systemtherefor. This reference discloses a method of distinguishing betweendifferent members of a class of images, such as human beings. A timeseries of successive relatively high-resolution frames of image data,any frame of which may or may not include a graphical representation ofone or more predetermined specific members (e.g., particular knownpersons) of a given generic class (e.g. human beings), is examined inorder to recognize the identity of a specific member; if that member'simage is included in the time series. The frames of image data may beexamined in real time at various resolutions, starting with a relativelylow resolution, to detect whether some earlier-occurring frame includesany of a group of image features possessed by an image of a member ofthe given class. The image location of a detected image feature isstored and then used in a later-occurring, higher resolution frame todirect the examination only to the image region of the stored locationin order to (1) verify the detection of the aforesaid image feature, and(2) detect one or more other of the group of image features, if any ispresent in that image region of the frame being examined. By repeatingthis type of examination for later and later occurring frames, theaccumulated detected features can first reliably recognize the detectedimage region to be an image of a generic object of the given class, andlater can reliably recognize the detected image region to be an image ofa certain specific member of the given class. Thus, the personaerecognition feature of the present invention may be implemented in thismanner. Further, it is clear that this recognition feature may form anintegral part of certain embodiments of the present invention. It isalso clear that the various features of the present invention would beapplicable as an adjunct to the various elements of the system disclosedin U.S. Pat. No. 5,063,603.

U.S. Pat. No. 5,067,160, incorporated herein by reference, relates to amotion-pattern recognition apparatus, having adaptive capabilities. Theapparatus recognizes a motion of an object which is moving and is hiddenin an image signal, and discriminates the object from the backgroundwithin the signal. The apparatus has an image forming unit comprisingnon-linear oscillators, which forms an image of the motion of the objectin accordance with an adjacent-mutual-interference-rule, on the basis ofthe image signal. A memory unit, comprising non-linear oscillators,stores conceptualized meanings of several motions. A retrieval unitretrieves a conceptualized meaning close to the motion image of theobject. An altering unit alters the rule, on the basis of theconceptualized meaning. The image forming unit, memory unit, retrievalunit and altering unit form a holonic-loop. Successive alterations ofthe rules by the altering unit within the holonic loop change anambiguous image formed in the image forming unit into a distinct image.U.S. Pat. No. 5,067,160 cites the following references, incorporatedherein by reference, which are relevant to the task of discriminating amoving object in a background:

-   -   U.S. Pat. No. 4,710,964;    -   Shimizu et al, “Principle of Holonic Computer and Holovision”,        Journal of the Institute of Electronics, Information and        Communication, 70(9):921-930 (1987);    -   Omata et al, “Holonic Model of Motion Perception”, IEICE        Technical Reports, Mar. 26,1988, pp. 339-346;    -   Ohsuga et al, “Entrainment of Two Coupled van der Pol        Oscillators by an External Oscillation”, Biological Cybernetics,        51:225-239 (1985).

U.S. Pat. No. 5,065,440, incorporated herein by reference, relates to apattern recognition apparatus, which compensates for, and is thusinsensitive to pattern shifting, thus being useful for decomposing animage or sequence of images, into various structural features andrecognizing the features. U.S. Pat. No. 5,065,440 cites the followingreferences, incorporated herein by reference, which are also relevant tothe present invention: U.S. Pat. Nos. 4,543,660, 4,630,308, 4,677,680,4,809,341, 4,864,629, 4,872,024 and 4,905,296.

Biometric Analysis

U.S. Pat. No. 5,055,658, incorporated herein by reference, relates to asecurity system employing digitized personal characteristics, such asvoice. The following cited references are incorporated herein byreference:

-   -   Naik et al., “High Performance Speaker Verification . . . ”,        ICASSP 86, Tokyo, CH22434/86/0000-0881, IEEE 1986, pp. 881-884;    -   “Voice Recognition and Speech Processing”, Elektor Electronics,        September 1985, pp. 56-57;    -   Shinan et al., “The Effects of Voice Disguise . . . ”, ICASSP        86, Tokyo, CH22434/86/0000-0885, IEEE 1986, pp. 885-888.        Parts of this system relating to speaker recognition may be used        to implement a voice recognition system of the present invention        for determining an actor or performer in a broadcast.        Neural Networks

U.S. Pat. No. 5,067,164, incorporated herein by reference, relates to ahierarchical constrained automatic learning neural network for characterrecognition, and thus represents an example of a trainable neuralnetwork for pattern recognition, which discloses methods which areuseful for the present invention. This Patent cites various referencesof interest, which are incorporated herein by reference:

-   -   U.S. Pat. Nos. 4,760,604, 4,774,677 and 4,897,811;    -   Rumelhart, D. E., et al., Parallel Distr. Proc.: Explorations in        Microstructure of Cognition, vol. 1, 1986, “Learning Internal        Representations by Error Propagation”, pp. 318-362;    -   Lippmann, R. P., “An Introduction to Computing with Neural        Nets”, IEEE ASSP Magazine, 4(2):4-22 (April 1987);    -   LeCun, Y., Connectionism in Perspective, R. Pfeifer, Z.        Schreter, F. Fogelman, L. Steels, (Eds.), 1989, “Generalization        and Network Design Strategies”, pp. 143-55;    -   LeCun, Y., et al., “Handwritten Digit Recognition: Applications        of Neural . . . ”, IEEE Comm. Magazine, pp. 41-46 (November        1989).

U.S. Pat. Nos. 5,048,100, 5,063,601 and 5,060,278, all incorporatedherein by reference, also relate to neural network adaptive patternrecognition methods and apparatuses. It is clear that the methods of5,048,100, 5,060,278 and 5,063,601 may be used to perform the adaptivepattern recognition functions of the present invention. More generalneural networks are disclosed in U.S. Pat. Nos. 5,040,134 and 5,058,184,both incorporated herein be reference, which provide background on theuse of neural networks. In particular, U.S. Pat. No. 5,058,184 relatesto the use of the apparatus in information processing and featuredetection applications.

U.S. Pat. No. 5,058,180, incorporated herein by reference, relates toneural network apparatus and method for pattern recognition, and is thusrelevant to the intelligent pattern recognition functions of the presentinvention. This patent cites the following documents of interest, whichare incorporated herein by reference:

-   -   U.S. Pat. Nos. 4,876,731 and 4,914,708;    -   Computer Visions, Graphics, and Image Processing 1987,        37:54-115;    -   Jackel, L. D., H. P. Graf, J. S. Denker, D. Henderson and I.        Guyon, “An Application of Neural Net Chips: Handwritten Digit        Recognition,” ICNN Proceeding, 1988, pp. II-1107-15;    -   Carpenter, G. A., S. Grossberg, “The Art of Adaptive Pattern        Recognition by a Self-Organizing Neural Network,” IEEE Computer,        March 1988, pp. 77-88;    -   Pawlicki, T. F., D. S. Lee, J. J. Hull and S. N. Srihari,        “Neural Network Models and their Application to Handwritten        Digit Recognition,” ICNN Proceeding, 1988, pp. 163-70;    -   Gullichsen E., E. Chang, “Pattern Classification by Neural        Network: An Experiment System for Icon Recognition,” ICNN        Proceeding on Neural Networks, March 1987, pp. IV-725-32;    -   Grossberg, S., G. Carpenter, “A Massively Parallel Architecture        for a Self-Organizing Neural Pattern Recognition Machine,”        Computer Vision, Graphics, and Image Processing (1987, 37,        54-115), pp. 252-315;    -   Lippman, R. P., “An Introduction to Computing with Neural Nets,”        IEEE ASSP Magazine, April 1987, pp. 4-22.    -   Chao, T.-H.; Hegblom, E.; Lau, B.; Stoner, W. W.; Miceli, W. J.,        “Optoelectronically implemented neural network with a wavelet        preprocessor”, Proceedings of the SPIE—The International Society        for Optical Engineering, 2026:472-82(1993), relates to an        optoelectronic neural network based upon the Neocognitron        paradigm has been implemented and successfully demonstrated for        automatic target recognition for both focal plane array        imageries and range-Doppler radar signatures. A particular        feature of this neural network architectural design is the use        of a shift-invariant multichannel Fourier optical correlation as        a building block for iterative multilayer processing. A bipolar        neural weights holographic synthesis technique was utilized to        implement both the excitatory and inhibitory neural functions        and increase its discrimination capability. In order to further        increase the optoelectronic Neocognitron's self-organization        processing ability, a wavelet preprocessor was employed for        feature extraction preprocessing (orientation, size, location,        etc.). A multichannel optoelectronic wavelet processor using an        e-beam complex-valued wavelet filter is also described.        Optical Pattern Recognition

U.S. Pat. No. 5,060,282, incorporated herein by reference, relates to anoptical pattern recognition architecture implementing the mean-squareerror correlation algorithm. This method allows an optical computingfunction to perform pattern recognition functions. U.S. Pat. No.5,060,282 cites the following references, incorporated herein byreference, which are relevant to optical pattern recognition:

-   -   Psaltis, D., “Incoherent Electro-Optic Image Correlator”,        Optical Engineering, 23(1):12-15 (January/February 1984);    -   Kellman, P., “Time Integrating Optical Signal Processing”,        Ph. D. Dissertation, Stanford University, 1979, pp. 51-55;    -   Molley, P., “Implementing the Difference-Squared Error Algorithm        Using An Acousto-Optic Processor”, SPIE, 1098:232-239, (1989);    -   Rhodes, W., “Acousto-Optic Signal Processing: Convolution and        Correlation”, Proc. of the IEEE, 69(1):65-79 (January 1981);    -   Vander Lugt, A., “Signal Detection By Complex Spatial        Filtering”, IEEE Transactions On Information Theory, IT-10,        2:139-145 (April 1964);    -   Psaltis, D., “Two-Dimensional Optical Processing Using        One-Dimensional Input Devices”, Proceedings of the IEEE,        72(7):962-974 (July 1984);    -   Molley, P., et al., “A High Dynamic Range Acousto-Optic Image        Correlator for Real-Time Pattern Recognition”, SPIE, 938:55-65        (1988).

U.S. Pat. No. 5,063,602, incorporated herein by reference, also relatesto an optical image correlators. Also of interest is Li, H. Y., Y. Qiaoand D. Psaltis, Applied Optics (April, 1993), incorporated herein byreference. See, See also, Bains, S., “Trained Neural Network RecognizesPaces”, Laser Focus World, June, 1993, pp. 26-28; Bagley, H. & Sloan,J., “Optical Processing: Ready For Machine Vision?”, Photonics Spectra,August 1993, pp. 101-106.

Optical pattern recognition is useful, especially for two dimensionalpatterns. In an optical pattern recognition system, an image iscorrelated with a set of known image patterns represented on a hologram,and the product is a pattern according to a correlation between theinput pattern and the provided known patterns. Because this is anoptical technique, it is performed nearly instantaneously, and theoutput information can be reentered into an electronic digital computerthrough optical transducers known in the art. Such a system is describedin Casasent, D., Photonics Spectra, November 1991, pp. 134-140, which isincorporated herein by reference. The references cited therein providefurther details of the theory and practice of such a system, and theyare also incorporated herein by reference. Lendaris, G. G., and Stanely,G. L., “Diffraction Pattern Sampling for Automatic Target Recognition”,Proc. IEEE 58:198-205 (1979); Ballard, D. H., and Brown, C. M., ComputerVision, Prentice Hall, Englewood Cliffs, N.J. (1982); OpticalEngineering 28:5 (May 1988)(Special Issue on product inspection);Richards J., and Casasent, D., “Real Time Hough Transform for IndustrialInspection” Proc. SPIE Technical Symposium, Boston 1989 1192:2-21(1989); Maragos, P., “Tutorial Advances in Morphological ImageProcessing” Optical Engineering 26:7:623-632 (1987); Casasent, D., andTescher, A., Eds., “Hybrid Image and Signal Processing II”, Proc. SPIETechnical Symposium, April 1990, Orlando Fla. 1297 (1990); Ravichandran,G. and Casasent, D., “Noise and Discrimination Performance of the MINACEOptical Correlation Filter”, Proc. SPIE Technical Symposium, April 1990,Orlando Fla., 1471 (1990); Weshsler, H. Ed., “Neural Nets For Human andMachine Perception”, Academic Press, New York (1991).

In addition, the following patents are considered relevant to the datacompression and pattern recognition functions of the apparatus andinterface of the present invention and are incorporated herein byreference: U.S. Pat. Nos. 3,950,733; 4,044,243; 4,254,474; 4,326,259;4,442,544; 4,449,240; 4,468,704; 4,491,962; 4,501,016; 4,543,660;4,547,811; 4,630,308; 4,656,665; 4,658,429; 4,658,370; 4,660,166;4,677,680; 4,682,365; 4,685,145; 4,695,975; 4,710,822; 4,710,964;4,719,591; 4,731,863; 4,736,439; 4,742,557; 4,752,890; 4,760,604;4,764,971; 4,771,467; 4,773,024; 4,773,099; 4,774,677; 4,783,752;4,790,025; 4,799,270; 4,802,103; 4,803,103; 4,803,736; 4,805,224;4,805,255; 4,809,341; 4,817,171; 4,821,333; 4,823,194; 4,831,659;4,833,637; 4,837,842; 4,845,610; 4,864,629; 4,872,024; 4,876,731;4,884,217; 4,887,304; 4,888,814; 4,891,762; 4,897,811; 4,905,296;4,906,099; 4,914,708; 4,920,499; 4,926,491; 4,931,926; 4,932,065;4,933,872; .4,941,193; 4,944,023; 4,958,375; 4,958,375; 4,965,725;4,972,499; 4,979,222; 4,987,604; 4,989,258; 5,014,219; 5,014,327;5,018,218; 5,018,219; 5,020,112; 5,022,062; 5,034,991; 5,038,379;5,038,390; 5,040,134; 5,046,121; 5,046,122; 5,046,179; 5,048,112;5,050,223; 5,051,840; 5,052,043; 5,052,045; 5,052,046; 5,053,974;5,054,093; 5,054,095; 5,054,101; 5,054,103; 5,055,658; 5,055,926;5,056,147; 5,058,179; 5,058,180; 5,058,186; 5,059,126; 5,060,276;5,060,277; 5,060,279; 5,060,282; 5,060,285; 5,061,063; 5,063,524;5,063,525; 5,063,603; 5,063,605; 5,063,608; 5,065,439; 5,065,440;5,065,447; 5,067,160; 5,067,161; 5,067,162; 5,067,163; 5,067,164;5,068,664; 5,068,723; 5,068,724; 5,068,744; 5,068,909; 5,068,911;5,247,651; 5,388,198; 5,390,125; 5,390,281; H 331; and Re. 33,316. Theaforementioned patents, some of which are mentioned elsewhere in thisdisclosure, and which form a part of this disclosure, may be applied inknown manner by those skilled in the art in order to practice variousembodiments of the present invention.

The following scientific articles, some of which are discussed elsewhereherein, are incorporated by reference, and their relevance is understoodby those skilled in the art and relate to the pattern recognition andimage compression functions of the apparatus and interface of thepresent invention:

-   -   Liepins, G. E., M. R. Hilliard, “Genetic Algorithms: Foundations        & Applications”, Annals of Operations Research, 21:31-58 (1989).    -   Fitzpatrick, J. M., J. J. Grefenstette, D. Van Gucht, “Image        Registration by Genetic Search”, Conf. Proc., IEEE Southeastcon        1984, pp.460-464.    -   McAulay, A. D., J. C. Oh, “Image Learning Classifier System        Using Genetic Algorithms”, IEEE Proc. of the National Aerospace        & Electronics Conference, 2:705-710 (1989).    -   Wasserman, Philip D., “Neural Computing-Theory & Practice”,        1989, pp. 128-129.    -   Nilsson, N. J., The Mathematical Foundations of Learning        Machines ((c) 1990: Morgan Kaufman Publishers, San Mateo,        Calif.) and particularly section 2.6 “The Threshold Logic Unit        (TLU)”, pp. 21-23 and Chapter 6, “Layered Machines” pp. 95-114.    -   Martin, G. L. et al., “Recognizing Hand-Printed Letters and        Digits Using Backpropagation Learning”, Technical Report of the        MCC, Human Interface Laboratory, Austin, Tex., January 1990, pp.        1-9.    -   Jean, J. S. N., et al., “Input Representation and Output Voting        Considerations for Handwritten Numeral Recognition with        Backpropagation”, International Joint Conference on Neural        Networks, Washington, D.C., January 1990, pp. I-408 to I-411.    -   Zhu, X., et al., “Feature Detector and. Application to        Handwritten Character Recognition”, International Joint        Conference on Neural Networks, Washington, D.C., January 1990,        pp. II-457 to II-460.    -   Haruki, K. et al., “Pattern Recognition of Handwritten Phonetic        Japanese Alphabet Characters”, International Joint Conference on        Neural Networks, Washington, D.C., January 1990, pp. II-515 to        II-518.    -   Miller, R. K., Neural Networks ((c) 1989: Fairmont Press,        Lilburn, Ga.), pp. 2-12 and Chapter 4, “Implementation of Neural        Networks”, pp. 4-1 to 4-26.    -   Hayashi, Y., et al., “Alphanumeric Character Recognition Using a        Connectionist Model with the Pocket Algorithm”, Proceedings of        the International Joint Conference on Neural Networks,        Washington, D.C. Jun. 18-22, 1989, vol. 2, pp. 606-613.    -   Caudill, M., “Neural Networks Primer-Part III”, Al Expert, June        1988, pp. 53-59.    -   Burr, D. J., “A Neural Network Digit Recognizer”, Proceedings of        the 1986 IEEE International Conference of Systems, Man and        Cybernetics, Atlanta, Ga., pp. 1621-1625.    -   Rumelhart, D. E., et al., Parallel Distributed Processing, ((c)        1986: MIT Press, Cambridge, Mass.), and specifically Chapter 8        thereof, “Learning Internal Representations by Error        Propagation”, pp. 318-362.    -   Danielsson, Erik, et al., “Computer Architectures for Pictorial        Inf. Systems”, IEEE Computer, November, 1981, pp. 53-67.    -   Hopfield et al., “Computing with Neural Circuits: A Model”,        Science, 233:625-633 (8 August 1986).    -   Hinton et al., “Boltzmann Machines: Constraint Satisfaction        Networks that Learn”, Tech. Report CMU-CS-85-119,        Carnegie-Mellon Univ, 5/84.    -   Hopfield, “Neurons with graded response have collective        computational properties like those of two-state neurons”, Proc.        Natl. Acad. Sci. USA, 81:3088-3092 (May 1984).    -   Willshaw et al., “Non-Holographic Associative Memory”, Nature,        222:960-962 (Jun. 7, 1969).    -   Cooper, L. N., “A Possible Organization of Animal Memory and        Learning”, Nobel 24, (1973), Collective Properties of Physical        Systems, pp. 252-264    -   Hopfield, “Neural Networks and Physical Systems with Emergent        Collective Computational Abilities”, Proc. Natl. Acad. Sci. USA,        79:2554-2558 (April 1982).

Batchelor, B. G., “Practical Approach to Pattern Classification”, PlenumPress, London and New York, (1974).

-   -   Batchelor, B. G., “Pattern Recognition, Ideas in Practice”,        Plenum Press, London and New York, (1978).    -   Udagawa, K., et al, “A Parallel Two-Stage Decision Method for        Statistical Character Recognition . . . , Electronics and        Communications in Japan (1965).    -   Schurmann, J., “Zur Zeichen und Worterkennung beim Automatischen        Anschriftenlesen”, Wissenschaftlichl, Berichte, 52(1/2) (1979).    -   Computers and Biomedical Research 5, 388-410 (1972).    -   Proceedings, 6th International Conference on Pattern Recognition        1982, pp. 152-136.    -   Information Processing 71, North-Holland Publishing        Company (1972) pp. 1530-1533.    -   Scientific American, “Not Just a Pretty Face”, March 1990, pp.        77-78.    -   Farrelle, Paul M. and Jain, Anil K., “Recursive Block Coding-A        New Approach to Transform Coding”, IEEE Transactions on        Communications, Com. 34(2) (February 1986).    -   Yamane et al., “An Image Data Compression Method Using        Two-Dimensional Extrapolative Prediction-Discrete Sine        Transform”, Oct. 29-31, 1986, pp. 311-316.    -   Chen et al., “Adaptive Coding of Monochrome and Color Images”,        November 1977, pp. 1285-1292.    -   O'Neal et al., “Coding Isotropic Images”, November 1977, pp.        697-707.    -   Anderson, F., W. Christiansen, B. Kortegaard, “Real Time, Video        Image Centroid Tracker”, Apr. 16-20, 1990.    -   Kortegaard, B. L., “PAC-MAN, a Precision Alignment Control        System for Multiple Laser Beams Self-Adaptive Through the Use of        Noise”, Los Alamos National Laboratory, date unknown.    -   Kortegaard, B. L., “Superfine Laser Position Control Using        Statistically Enhanced Resolution in Real Time”, Los Alamos        National laboratory, SPIE-Los Angeles Technical Symposium, Jan.        23-25, 1985.    -   Aleksander, I., “Guide to Pattern Recognition Using        Random-Access Memories”, Computers and Digital Techniques,        2(1):2940 (February 1979).    -   Rumelhart, D. E., et al., “Learning Internal Representations by        Error Propagation”, Parallel Distr. Proc.: Explorations in        Microstructure of Cognition, 1:318-362 (1986).    -   Lippmann, R. P., “An Introduction to Computing with Neural        Nets”, IEEE ASSP Magazine, vol. 4(2):4-22 (April 1987).    -   LeCun, Y., “Connectionism in Perspective”, in R. Pfeifer, Z.        Schreter, F. Fogelman, L. Steels (Eds.), 1989, “Generalization        and Network Design Strategies”, pp. 143-155.    -   LeCun, Y. et al., “Handwritten Digit Recognition: Applications        of Neural . . . ”, IEEE Comm. Magazine, November 1989, pp.        41-46.    -   Denker, 1984 International Test Conf., October 1984,        Philadelphia, Pa., pp. 558-563.    -   Gogoussis et al., Proc. SPIE Intl. Soc. Opt. Eng., November        1984, Cambridge, Mass., pp. 121-127.    -   Svetkoff et al., Hybrid Circuits (GB), No. 13, May 1987, pp.        5-8.    -   Kohonen, “Self-Organization & Memory”, Second Ed., 1988,        Springer-Verlag, pp. 199-209.    -   Specht, IEEE Internatl. Conf. Neural Networks, 1:I525-I532 (July        1988), San Diego, Calif.    -   Wald, Sequential Analysis, Dover Publications Inc., 1947, pp.        34-43.    -   Rosenfeld, Azriel and Avinash C. Kak, Digital Picture        Processing, Second Edition, Volume 2, Academic Press, 1982.    -   Mori, “Towards the construction of a large-scale neural        network”, Electronics Information Communications Association        Bulletin PRU 88-59, pp. 87-94.    -   Yamada et. al., “Character recognition system using a neural        network”, Electronics Information Communications Association        Bulletin PRU 88-58, pp. 79-86.    -   Crawford et al., “Adaptive Pattern Recognition Applied To An        Expert System For Fault Diagnosis In Telecommunications        Equipment”, pp. 10/1-8 (Inspec. Abstract No. 86C010699, Inspec        IEE (London) & IEE Coll. on “Adaptive Filters”, Digest No. 76,        Oct. 10, 1985)    -   Rutter et al., “The Timed Lattice-A New Approach To Fast        Converging Equalizer Design”, pp. VIII/1-5 (Inspec. Abstract No.        84C044315, Inpec IEE (London) & IEE Saraga Colloquium on        Electronic Filters, May 21, 1984)    -   Simpson, W. R., C. S. Dowling, “WRAPLE: The Weighted Repair        Assistance Program Learning Extension”, IEEE Design & Test,        2:66-73 (April 1986).    -   Dunning, B. B., “Self-Learning Data-Base For Automated Fault        Localization”, IEEE, 1979, pp. 155-157.    -   Stewart, R. M., “Expert Systems For Mechanical Fault Diagnosis”,        IEEE, 1985, pp. 295-300.    -   Lin, H. K., et al., “Real-Time Screen-Aided Multiple-Image        Optical Holographic Matched-Filter Correlator”, Applied Optics,        21(18):3278-3286 (Sep. 15, 1982)    -   Vander Lugt, A., et al., “The Use of Film Nonlinearites in        Optical Spatial Filtering”, Applied Optics, 9(1):215-222        (January 1970).    -   Vander Lugt, A., “Practical Considerations for the Use of        Spatial Carrier-Frequency Filters”, Applied Optics,        5(11):1760-1765 (November 1966).    -   Silverston et al., “Spectral Feature Classification and Spatial        Pattern Rec.”, SPIE 201:17-26, Optical Pattern Recognition        (1979).    -   Perry et al., “Auto-Indexing Storage Device”, IBM Tech. Disc.        Bulletin, 12(8):1219 (January 1970).    -   Vitols, “Hologram Memory for Storing Digital Data”, IBM Tech.        Disc. Bulletin 8(11):1581-1583 (April 1966).    -   Stanley R. Sternberg, “Biomedical Image Processing”, IEEE        Computer, 1983, pp. 22-34.    -   Rutherford, H. G., F. Taub and B. Williams, “Object        Identification and Measurement from Images with Access to the        Database to Select Specific Subpopulations of Special Interest”,        May 1986.    -   Ney, H., et al., “A Data Driven Organization of the Dynamic        Programming Beam Search for Continuous Speech Recognition”,        Proc. ICASSP 87, pp. 833-836, 1987.    -   Sakoe, H., “A Generalization of Dynamic Programming Based        Pattern Matching Algorithm Stack DP-Matching”, Transactions of        the Committee on Speech Research, The Acoustic Society of        Japan, p. S83-23, 1983.    -   Sakoe, H., “A Generalized Two-Level DP-Matching Algorithm for        Continuous Speech Recognition”, Transactions of the IECE of        Japan, E65(11):649-656 (November 1982).    -   Mahalanobis, A., et al., “Minimum Average Correlation Energy        Filters”, Applied Optics, 26(17):3633-40 (Sep. 1, 1987).    -   Sprageu, R. A., “A Review of Acousto-Optic Signal Correlators”,        Optical Engineering, 16(5):467-74 (September/October 1977)    -   Casasent, D., et al., “General I and Q Data Processing on a        Multichannel AO System”, Applied Optics, 25(18):3217-24 (Sep.        15, 1986).    -   Vannicola et al., “Applications of Knowledge Based Systems to        Surveillance”, Proceedings of the 1988 IEEE National Radar        Conference, 20-21 April 1988, pp. 157-164.    -   Ksienski et al., “Low Frequency Approach to Target        Identification”, Proc. of the IEEE, 63(12):1651-1660 (December        1975).    -   Appriou, A., “Interet des theories de l'incertain en fusion de        donnees”, Colloque International sur le Radar Paris, 24-28 avril        1989.    -   Appriou, A., “Procedure d'aide a la decision multi-informateurs.        Applications a la classification multicapteurs de cibles”,        Symposium de l'Avionics Panel (AGARD) Turquie, 25-29 avril 1988.    -   Arrow, K. J., “Social choice and individual valves”, John Wiley        and Sons Inc. (1963).    -   Blair, D., R. Pollack, “La logique du choix collectif”, Pour la        Science (1983).    -   Scharlic, A., “Decider sur plusieurs criteres. Panorama de        l'aide a la decision multicritere”, Presses Polytechniques        Romandes (1985).    -   Keeney, R. L., B. Raiffa, “Decisions with multiple objectives:        Preferences and value tradeoffs”, John Wiley and Sons, New York        (1976).    -   Jeffrey, R. J., “The logic of decision”, The University of        Chicago Press, Ltd., London (1983)(2nd Ed.).    -   Roy, B., “Classements et choix en presence de points de vue        multiples”, R.I.R.O.-2eme annee-no. 8, pp. 57-75 (1968).    -   Roy, B., “Electre HI: un algorithme de classements fonde sur une        representation floue des preferences en presence de criteres        multiples”, Cahiers du CERO, 20(1):3-24 (1978).    -   Duda, R. O., P. E. Hart, M. J. Nilsson, “Subjective Bayesian        methods for rule-based inference systems”, Technical Note 124,        Artificial Intelligence Center, SRI International.    -   Bhatnagar, R. K., L. N. Kamal, “Handling uncertain information:        a review of numeric and non-numeric methods”, Uncertainty in        Artificial Intelligence, L. N. Kamal and J. F. Lemmer, Eds.        (1986).    -   Dempster, A. P., “Upper and lower probabilities induced by a        multivalued mapping”, Annals of mathematical Statistics, no. 38        (1967).    -   Dempster, A. P., “A generalization of Bayesian inference”,        Journal of the Royal Statistical Society, Vol. 30, Series B        (1968).    -   Shafer, G., “A mathematical theory of evidence”, Princeton        University Press, Princeton, N.J. (1976).    -   Dubois, D., N. Prade, “Combination of uncertainty with belief        functions: a reexamination”, Proceedings 9th International Joint        Conference on Artificial Intelligence, Los Angeles (1985).    -   Kyburg, H. E., “Bayesian and non Bayesian evidential updating”,        Artificial Intelligence 31:271-293 (1987).    -   Fua, P. V., “Using probability density functions in the        framework of evidential reasoning Uncertainty in knowledge based        systems”, B. Bouchon, R. R. Yager, Eds. Springer Verlag (1987).    -   Chao, J. J., E. Drakopoulos, C. C. Lee, “An evidential reasoning        approach to distributed multiple hypothesis detection”,        Proceedings of the 20th Conference on decision and control, Los        Angeles, Calif., December 1987.    -   Yager, R. R., “Entropy and specificity in a mathematical theory        of Evidence”, Int. J. General Systems, 9:249-260 (1983).    -   Ishizuka, M., “Inference methods based on extended Dempster and        Shafer's theory for problems with uncertainty/fuzziness”, New        Generation Computing, Ohmsha, Ltd, and Springer Verlag,        1:159-168 (1983).    -   Zadeh, L. A., “Fuzzy sets”, Information and Control, 8:338-353        (1965).    -   Zadeh, L. A., “Probability measures of fuzzy events”, Journal of        Mathematical Analysis and Applications, 23:421-427 (1968).    -   Kaufmann, A., “Introduction a la theorie des sousensembles        flous”, Vol. 1, 2 et 3, Masson, Paris (1975).    -   Sugeno, M., “Theory of fuzzy integrals and its applications”,        Tokyo Institute of Technology (1974).    -   Bellman, R. E., L. A. Zadeh, “Decision making in a fuzzy        environment”, Management Science, 17(4) (December 1970).    -   Dubois, D., N. Prade, “Fuzzy sets and systems-Theory and        applications”, Academic Press, New York (1980).    -   Zadeh, L. A., “Fuzzy sets as a basis for a theory of        possibility”, Fuzzy sets and Systems, 1:3-28 (1978).    -   Dubois, D., “Modeles mathematiques de l'imprecis et de        l'incertain en vue d'applications aux techniques d'aide a la        decision”, Doctoral Thesis, University of Grenoble (1983).    -   Dubois, D., N. Prade, “Theorie des possibilites: application a        la representation des connaissances en informatique”, Masson,        Paris (1985).    -   Barnsley et al., “Hidden Variable Fractal Interpolation        Functions”, School of Mathematics, Georgia Institute of        Technology, Atlanta, Ga. 30332, July, 1986.    -   Anson, L., M. Barnsley, “Graphics Compression Technology”,        SunWorld, pp. 43-52 (October 1991).    -   Caffery, B., “Fractal Compression Breakthrough for Multimedia        Applications”, Inside, Oct. 9, 1991.    -   “Fractal Modelling of Real World Images”, Lecture Notes for        Fractals: Introduction, Basics and Perspectives, Siggraph        (1987).    -   “Fractal Geometry-Understanding Chaos”, Georgia Tech Alumni        Magazine, p. 16 (Spring 1986).    -   “Fractals Yield High Compression”, Electronic Engineering Times,        Sep. 30, 1991, p. 39.    -   “Fractals-A Geometry of Nature”, Georgia Institute of Technology        Research Horizons, p. 9 (Spring 1986).    -   “Fractal Modelling of Biological Structures”, School of        Mathematics, Georgia Institute of Technology (date unknown).    -   Peterson, Ivars, “Packing It In”, Science News, 131(18):283-285        (May 2, 1987).    -   Barnsley et al., “A Better Way to Compress Images”, Byte        Magazine, January 1988.    -   Barnsley et al., “Harnessing Chaos For Images Systhesis”,        Computer Graphics, 22(4) (8/1988).    -   Naik et al., “High Performance Speaker Verification . . . ”,        ICASSP 86, Tokyo, CH22434/86/0000-0881, IEEE 1986, pp. 881-884.    -   “Voice Recognition and Speech Processing”, Elektor Electronics,        September 1985, pp. 56-57.    -   Shinan et al., “The Effects of Voice Disguise . . . ”, ICASSP        86, Tokyo, CH2243-4/86/0000-0885, IEEE 1986, pp. 885-888.    -   Computer Visions, Graphics, and Image Processing, 1987,        37:54-115.    -   Jackel, L. D., H. P. Graf, J. S. Denker, D. Henderson and I.        Guyon, “An Application of Neural Net Chips: Handwritten Digit        Recognition”, ICNN Proceeding, 1988, pp. II-107-15.    -   Carpenter, G. A., S. Grossberg, “The Art of Adaptive Pattern        Recognition by a Self-Organizing Neural Network”, IEEE Computer,        March 1988, pp. 77-88.    -   Pawlicki, T. F., D. S. Lee, J. J. Hull and S. N. Srihari,        “Neural Network Models and their Application to Handwritten        Digit Recognition”, ICNN Proceeding, 1988, pp. II-63-70.    -   Gullichsen, E., E. Chang, “Pattern Classification by Neural        Network: An Experiment System for Icon Recognition”, ICNN        Proceeding on Neural Networks, March 1987, pp. IV-725-32.    -   Grossberg, S., G. Carpenter, “A Massively Parallel Architecture        for a Self-Organizing Neural Pattern Recognition Machine”,        Computer Vision, Graphics, and Image Processing, 1987, 37,        54-115, 252-315.    -   Lippman, R. P., “An Introduction to Computing with Neural Nets”,        IEEE ASSP Magazine, April 1987, pp. 4-22.    -   Psaltis, D., “Incoherent Electro-Optic Image Correlator”,        Optical Engineering, 23(1):12-15 (January/February 1984).

Kellman, P., “Time Integrating Optical Signal Processing”, Ph. D.Dissertation, Stanford University, 1979, pp. 51-55.

-   -   Molley, P., “Implementing the Difference-Squared Error Algorithm        Using An Acousto-Optic Processor”, SPIE, 1098:232-239 (1989).    -   Rhodes, W., “Acousto-Optic Signal Processing: Convolution and        Correlation”, Proc. of the IEEE, 69(1):65-79 (January 1981).    -   Vander Lugt, A., “Signal Detection By Complex Spatial        Filtering”, IEEE Transactions On Information Theory, IT-10,        2:139-145 (April 1964).    -   Psaltis, D., “Two-Dimensional Optical Processing Using        One-Dimensional Input Devices”, Proceedings of the IEEE,        72(7):962-974 (July 1984).    -   Molley, P., et al., “A High Dynamic Range Acousto-Optic Image        Correlator for Real-Time Pattern Recognition”, SPIE, 938:55-65        (1988).    -   Shimizu et al., “Principle of Holonic Computer and Holovision”,        Journal of the Institute of Electronics, Information and        Communication, 70(9):921-930 (1987).    -   Omata et al., “Holonic Model of Motion Perception”, IEICE        Technical Reports, Mar. 26, 1988, pp. 339-346.    -   Ohsuga et al., “Entrainment of Two Coupled van der Pol        Oscillators by an External Oscillation”, Biological Cybernetics,        51:225-239 (1985).    -   Kim, D. H.; Caulfield, H. J.; Jannson, T.; Kostrzewski, A.;        Savant, G, “Optical fractal image processor for noise-embedded        targets detection”, Proceedings of the SPIE— The International        Society for Optical Engineering, Vol: 2026 p. 144-9 (1993) (SPIE        Conf: Photonics for Processors, Neural Networks, and Memories        12-15 July 1993, San Diego, Calif., USA).    -   Cheong, C. K.; Aizawa, K.; Saito, T.; Hatori, M., “Adaptive edge        detection with fractal dimension”, Transactions of the Institute        of Electronics, Information and Communication Engineers D-II,        J76D-II(11):2459-63 (1993).    -   Hayes, H. I.; Solka, J. L.; Priebe, C. E.; “Parallel computation        of fractal dimension”, Proceedings of the SPIE—The International        Society for Optical Engineering, 1962:219-30 (1993).    -   Priebe, C. E.; Solka, J. L.; Rogers, G. W., “Discriminant        analysis in aerial images using fractal based features”,        Proceedings of the SPIE—The International Society for Optical        Engineering, 1962: 196-208(1993).    -   Liu, Y., “Pattern recognition using Hilbert space”, Proceedings        of the SPIE—The International Society for Optical Engineering,        1825:63-77 (1992).    -   Liu, Y., “Extensions of fractal theory”, Proceedings of the        SPIE—The International Society for Optical Engineering,        1966:255-68(1993).    -   Sadjadi, F., “Experiments in the use of fractal in computer        pattern recognition”, Proceedings of the SPIE—The International        Society for Optical Engineering, 1960:214-22(1993).    -   Reusens, E., “Sequence coding based on the fractal theory of        iterated transformations systems”, Proceedings of the SPIE—The        International Society for Optical Engineering, 2094(pt. 1):        132-40(1993).    -   Hurtgen, B.; Buttgen, P., “Fractal approach to low rate video        coding”, Proceedings of the SPIE—The International Society for        Optical Engineering, 2094(pt. 1): 120-31(1993).    -   Zhi-Yan Xie; Brady, M., “Fractal dimension image for texture        segmentation”, ICARCV '92. Second International Conference on        Automation, Robotics and Computer Vision, p. CV4.3/1-5 vol.1,        (1992).    -   Rahmati, M.; Hassebrook, L. G., “Intensity- and        distortion-invariant pattern recognition with complex linear        morphology”, Pattern Recognition, 27 (4):549-68(1994).    -   Sprinzak, J.; Werman, M., “Affine point matching”, Pattern        Recognition Letters, 15(4):337-9(1994).    -   Chao, T.-H.; Hegblom, E.; Lau, B.; Stoner, W. W.; Miceli, W. J.,        “Optoelectronically implemented neural network with a wavelet        preprocessor”, Proceedings of the SPIE—The International Society        for Optical Engineering, 2026:472-82(1993).    -   Hoare, F.; de Jager, G., “Neural networks for extracting        features of objects in images as a pre-processing stage to        pattern classification”, Proceedings of the 1992 South African        Symposium on Communications and Signal Processing. COMSIG '92        (Cat. No.92TH04820). Inggs, M. (Ed.), p. 239-42 (1992).

The above-mentioned references are exemplary, and are not meant to belimiting in respect to the resources and/or technologies available tothose skilled in the art. Of course it should be realized that thehardware for implementing a system may be integrally related to thechoice of specific method or software algorithm for implementing thesystem, and therefore these together form a system. It is noted that inview of the present disclosure, it is within the skill of the artisan tocombine in various fashions the available methods and apparatus toachieve the advanced interface and control system of the presentinvention.

SUMMARY AND OBJECTS OF THE INVENTION

The present invention relates to programmable man-machine interfaces,especially to computer graphic user interfaces. These interfaces areergonomically adapted to provide an optimized environment for humaninteraction with the device. One factor limiting productivity ofcomputer operators is the time necessary to communicate a desired actionthrough an interface to a computerized device. The present technologiesseek to reduce this limitation and make use of surplus processingcapacity of the computer to predict a most likely input from theoperator and present this as an easily available option. Thetechnologies also extend beyond core theme in many differing ways,depending on the particular context and environment.

A major theme of the present invention is the use of intelligent,adaptive pattern recognition in order to provide the operator with asmall number of high probability choices, which may be complex, withoutthe need for explicit definition of each atomic instruction comprisingthe desired action. The interface system predicts a desired action basedon the user input, a past history of use, a context of use, and a set ofpredetermined or adaptive rules.

Because the present invention emphasizes adaptive pattern recognition ofboth the input of the user and data which may be available, theinterface system proposes the extensive use of advanced signalprocessing and neural networks. These processing systems may be sharedbetween the interface system and the functional system, and therefore acontroller for a complex system may make use of the intrinsic processingpower available rather than requiring additional computing power,although this unification is not required. In fact, while hardwareefficiency dictates that near term commercial embodiments employ commonhardware for the interface system and the operational routine, futuredesigns may successfully separate the interface system from theoperational system, allowing portability and efficient application of asingle interface system for a number of operational systems.

The adaptive nature of the present invention derives from anunderstanding that people learn most efficiently through the interactiveexperiences of doing, thinking, and knowing. For ease-of-use,efficiency, and lack of frustration of the user, the interface of thedevice should be intuitive and self explanatory, providing perceptualfeedback to assist the operator in communicating with the interface,which in turn allows the operational system to receive a description ofa desired operation. Another important aspect of man-machine interactionis that there is a learning curve, which dictates that devices which areespecially easy to master become frustratingly elemental after continueduse, while devices which have complex functionality with many optionsare difficult to master and may be initially rejected, or the user stopsexploring. The present invention addresses these issues by determiningthe most likely instructions of the operator, and presenting these aseasily available choices, by analyzing the past history data and bydetecting the “sophistication” of the user in performing a function,based on all information available to it. The context of use may also bea significant factor. The interface seeks to optimize the relevantportion of the interface adaptively and immediately in order to balanceand optimize the interface for both quantitative and qualitativefactors. This functionality may greatly enhance the quality ofinteraction between man and machine, allowing a higher degree of overallsystem sophistication to be tolerated and a greater value added thanother interface designs. See, Commaford, C., “User-Resonsive SoftwareMust Anticipate Our Needs”, PC Week, May 24, 1993.

The present interface system analyzes data from the user, which may beboth the selections made by the user in context, as well as theefficiency by which the user achieves the selection. Thus, informationconcerning both the endpoints and time-dependent path of the process areconsidered and analyzed by the interface system.

The interface of the present invention may be advantageously applied toan operational system which has a plurality of functions, certain ofwhich are unnecessary or are rarely used in various contexts, whileothers are used with greater frequency. In such systems, thefunctionality use is usually predictable. Therefore, the presentinvention provides an optimized interface system which, upon recognizinga context, dynamically reconfigures the availability or ease ofavailability of functions and allow various subsets to be used through“shortcuts”. The interface presentation will therefore vary over time,use and the particular user.

The advantages to be gained by using an intelligent data analysisinterface for facilitating user control and operation of the system aremore than merely reducing the average number of selections or time toaccess a given function. Rather, advantages also arise from providing ameans for access and availability of functions not necessarilypreviously existing or known to the user, therefore improving theperceived quality and usefulness of the product. Further advantages overprior interfaces accrue due to the availability of pattern recognitionfunctionality as a part of the interface system.

In those cases where the pattern recognition functions are applied tolarge amounts of data or complex data sets, in order to provide asufficient advantage and acceptable response time, powerfulcomputational resources, such as advanced digital signal processor (DSP)or neural network processors are made available to the interface system.On the other hand, where the data is simple or of limited scope, aspectsof the technology may be easily implemented as added softwarefunctionality as improvements of existing products having limitedcomputational resources.

The application of these technologies to multimedia systems provides anew model for performing image pattern recognition on multimedia dataand for the programming of applications including such data. The abilityof the interface of the present invention to perform abstractions andmake decisions regarding a closeness of presented data to selectioncriteria makes the interface suitable for use in a programmable control,i.e., determining the existence of certain conditions and taking certainactions on the occurrence of detected events. Such advanced technologiesmight be especially valuable for disabled users.

In a multimedia environment, a user often wishes to perform an operationon a multimedia data event. Past systems have required explicit indexingof images and events. The present technologies, however, allow an image,diagrammatic, abstract or linguistic description of the desired event tobe acquired by the interface system from the user and applied toidentify or predict the multimedia event(s) desired without requiring aseparate manual indexing or classification effort. These technologiesmay also be applied to single media data.

The interface system according to the present invention is not limitedto a single data source, and may analyze data from many differentsources for its operation. This data may be stored data or present in adata stream. Thus, in a multimedia system, there may be a real-time datastream, a stored event database, as well as an exemplar or modeldatabase. Further, since the device is adaptive, information relating topast experience of the interface, both with respect to exposure to datastreams and user interaction, is also stored. This data analysis aspectof the operation of the present interface system may be substantiallyprocessor intensive, especially where the data includes abstract orlinguistic concepts or images to be analyzed. Interfaces which do notrelate to the processing of such data may be implemented on simplerhardware. On the other hand, systems which handle complex data types maynecessarily include sophisticated processors, adaptable for use with theinterface system, thus minimizing the additional computing powernecessary in order to implement the interface according to the presentinvention. A portion of the data analysis may also overlap thefunctional analysis of the data for operation.

A fractal-based image processing system exemplifies one application ofthe technologies. A fractal-based system includes a database of imageobjects, which may be preprocessed in a manner which makes them suitablefor comparison to a fractal-transformed image representation of an imageto be analyzed. Thus, corresponding “fractal” transforms are performedon the unidentified image or a portion thereof and on an exemplar of adatabase. A degree of relatedness is determined in this “fractaltransform domain”, and the results used to identify objects within theimage. The system then makes decisions based on the information contentof the image, i.e. the objects contained therein.

The fractal-based image processing system presents many advantages.First, fractal-processed images may have dramatically reduced storagesize requirements as compared to traditional methods while substantiallyretaining information important for image recognition. The process maybe parallelized, and the exemplars may be multidimensional, furtherfacilitating the process of identifying a two-dimensional projection ofan object. The efficient storage of information allows the use ofinexpensive storage media, i.e., compact disk-read only memory (CD-ROM),or the use of an on-line database through a serial data link, whileallowing acceptable throughput. See, Zenith Starsignt Telecast brochure,(1994)

As applied to a multimedia database storage and retrieval system, theuser programs, through an adaptive user interface according to thepresent invention, the processing of data, by defining a criteria andthe actions to be taken based on the determination of the criteria. Thecriteria, it is noted, need not be of a predefined type, and in factthis is a particular feature of the present invention. A patternrecognition subsystem is employed to determine the existence of selectedcriteria. To facilitate this process, a database of image objects may bestored as two counterparts: first, the data is stored in a compressedformat optimized for normal use, such as human viewing on a videomonitor, using, e.g., MPEG-2 or JPEG compression; second, it is storedin a preprocessed and highly compressed format adapted to be used withthe pattern recognition system. Because the preprocessed data is highlycompressed and used directly by the pattern recognition system, greatefficiencies in storage and data transmission are achieved. The imagepreprocessing may include fractal, Fourier, discrete cosine transforms(DCT), wavelet, Gabor, or model-based approaches.

The potential significant hardware requirement is counterbalanced by theenhanced functionality available by virtue of the technologies. Whenapplied to multimedia devices, the interface system allows the operatorto define complex criteria with respect to image, abstract or linguisticconcepts, which would be difficult or impossible to implement with priorsystems. Thus, the interface system becomes part of a computationalsystem which would otherwise be too cumbersome for use.

A pattern recognition subsystem allows a “description” of an “event”without explicit definition of the data representing the “event”. Thus,instead of requiring explicit programming, an operator may merely defineparameters of the desired “event”. This type of system is useful, forexample, where a user seeks a generic type of data representing avariety of events. This eliminates the need for preindexing orstandardized characterization of the data. The interface systemtherefore facilitates the formulation of a request, and then searchesthe database for data which corresponds to the request. Such preindexingor standardized characterization is extremely limiting with image andmultimedia data, because a picture is worth a thousand words”, andwithout a priori knowing the ultimate search criteria, all possiblecriteria must be accounted for. Pattern recognition systems do notrequire initial translation of visual aspects into linguistic concepts,thus allowing broader searching capability. Of course, a patternrecognition system may be used in conjunction with other searchingschemes, to mutual advantage.

The pattern recognition functionality of the interface system is notlimited to multimedia data, and may be applied to data of almost anytype, e.g., real-time sensor data, distributed control, linguistic data,etc.

Another notable aspect of the technologies is the contextual analysis.Often, multimedia data often includes a data component which closelycorresponds to a format of a search criteria. Thus, while a search mayseek a particular image, other portions of the datastream correlate wellwith the aspect of the image being searched, and may be analyzed byproxy, avoiding the need for full image analysis. The resultingpreselected reduced number of images may then be fully analyzed, ifnecessary. Thus, especially as with respect to consumer electronicsapplications, where absolute accuracy may not be required, theprocessing power available for pattern recognition need not besufficient for complete real-time signal analysis of all data. Thetechnologies therefore propose use of a variety of available data inorder to achieve the desired level functionality at minimum cost.

One aspect of the present invention therefore relates to a mechanism forfacilitating a user interaction with a programmable device. Theinterface and method of use of the present invention serves to minimizethe leaning and searching times, better reflect users' expectations,provide better matching to human memory limits, be usable by bothnovices and experienced users, reduce intimidation of novice users bythe device, reduce errors and simplify the entering of programming data.The present invention optimizes the input format scheme for programmingan event-driven device, and can also be applied to many types ofprogrammable devices. Thus, certain human factors design concepts,heretofore unexploited in the design of consumer electronics devices andindustrial controls, have been incorporated, and new precepts developed.Background and theory of various aspects of the present invention isdisclosed in “AN IMPROVED HUMAN FACTORED INTERFACE FOR PROGRAMMABLEDEVICES: A CASE STUDY OF THE VCR”, Master's Thesis, Tufts University(Master of Sciences in Engineering Design, November, 1990, publiclyavailable January, 1991), by Linda I. Hoffberg. This thesis, and citedreferences, are incorporated herein by reference, and attached hereto asan appendix. Also incorporated by reference are: Hoffberg, Linda I.,“Designing User Interface Guidelines For Time-Shift Programming of aVideo Cassette Recorder (VCR)”, Proc. of the Human Factors Soc. 35thAnn. Mtg. pp. 501-504 (1991); and Hoffberg, Linda I., “Designing aProgrammable Interface for a Video Cassette Recorder (VCR) to Meet aUser's Needs”, Interface 91 pp. 346-351 (1991). See also, U.S. patentapplication Ser. No. 07/812,805, incorporated herein by reference in itsentirety, including appendices and incorporated references.

The present invention extends beyond simple predictive schemes whichpresent exclusively a most recently executed command or most recentlyopened files. Thus, the possible choices are weighted in amultifactorial method, e.g., history of use, context and system status,rather than a single simple criterion alone. Known simple predictivecriteria often exclude choices not previously selected, rather thanweighing these choices in context with those which have been previouslyselected. While the system according to the present invention mayinclude initial weightings, logical preferences or default settings,through use, the derived weightings are obtained adaptively based on ananalysis of the status, history of use and context. It is noted that notall of the possible choices need be weighted, but rather merely a subsetthereof.

For a given system, status, history of use and context may beinterrelated factors. For example, the status of the machine isdetermined by the prior use, while the status also intersects context.The intended meaning of status is information relating to a pathindependent state of the machine at a given point in time. History ofuse is intended to implicate more than the mere minimum instructions oractions necessary to achieve a given state, and therefore includesinformation unnecessary to achieve a given state, i.e., path dependentinformation. Context is also related to status, but rather isdifferentiated in that context refers to information relating to theenvironment of use, e.g., the variable inputs or data upon which theapparatus acts or responds. Status, on the other hand, is a narrowerconcept relating more to the internal and constant functionality of theapparatus, rather than the particularities of its use during specificcircumstances.

U.S. Pat. No. 5,187,797 relates to a machine interface system havinghierarchical menus, with a simple (three button) input scheme. Thechoice(s) presented relate only to the system status, and not theparticular history of use employed to obtain the system status nor thecontext of the choice. This system has a predetermined hierarchical menustructure, which is invariant with usage. The goal of this interfacesystem is not to provide a learning interface, but rather to teach theuser about or conform the user to the dictates of the predetermined andinvariant interface of the device. While many types of programmabledevices are known to exist, normally, as provided in U.S. Pat. No.5,187,797, instructions are entered and executed in a predeterminedsequence, with set branch points based on input conditions or theenvironment. See also U.S. Pat. Nos. 4,878,179, 5,124,908, and5,247,433.

The present invention provides a device having a predetermined or ageneric style interface upon initial presentation to the user, with anadaptive progression in which specialized features become more easilyavailable to a user who will likely be able to make use of them, whileunused features are “buried” within the interface. The interface alsoextracts behavioral information from the user and to alter the interfaceelements to optimize the efficiency of the user.

A video-cassette recorder is a ubiquitous example of a programmabledevice, and therefore forms the basis of much of the discussion herein.It should, of course, be realized that many of the aspects of thepresent invention could be applied by one of ordinary skill in the artto a variety of controls having human interfaces, and that these otherapplications are included within the scope of the present invention.

The VCR apparatus typically involves a remote control entry device, andthe interface of the present invention contains a graphical interfacedisplayed for programming programmable devices. This aspect of thepresent invention seeks more accurate programming through the use ofprogram verification to ensure that the input program is both valid andexecutable. Thus, it has a mechanism to store and check to verify thatthere are no conflicting programs. An apparatus according to the presentinvention can be connected, for example, to any infrared programmabledevice in order to simplify the programming process. By way of exampleonly, an improved VCR interface forms the basis of a disclosed example.It is, of course, realized that the present method and apparatus may beapplied to any programmable controller, i.e., any device which monitorsan event or sensor and causes an event when certain conditions orparameters are met, and may also be used in other programmingenvironments, which are not event driven. While the present interface ispreferably learning and adaptive, it may also detect events and makedecisions based on known or predetermined characteristics. Where anumber of criteria are evaluated for making a decision, conflicts amongthe various criteria are resolved based on a strength of an evaluatedcriteria, a weighting of the criteria, an interactivity functionrelating the various criteria, a user preference, either explicitly orimplicitly determined, and a contextual analysis. Thus, a user overrideor preference input may be provided to assist in resolving conflicts.

The present invention may incorporate an intelligent program recognitionand characterization system, making use of any of the available cues,which allows an intelligent determination of the true nature of thebroadcast and therefore is able to make a determination of whetherparameters should be deemed met even with an inexact match to thespecified parameters. Therefore, in contradistinction with VPV, whichthe present invention is intelligent. The VPV is much more like the “VCRPlus” device, known to those skilled in the art, which requires that abroadcast be associated with a predetermined code, with thepredetermined code used as a criteria for initiating recording. Someproblems with VCR Plus include identification of the codes whichidentify channel and time, post scheduling changes, incorrect VCR clocksetting, and irregular schedules. VCR Plus also is limiting with respectto new technologies and cable boxes.

The videotext signal of the prior art includes a digitally encoded textmessage which may be displayed in conjunction with the displayed image,similar to the closed caption system. The aforementioned West Germansystem demonstrates one way in which the transmitted signal may bereceived by a device and interpreted to provide useful information otherthan the transmitted program itself. However, the prior art does notdisclose how this signal may be used to index and catalog the contentsof a tape, nor does it disclose how this signal may be used to classifyor interpret the character of the broadcast. In other words, in oneembodiment of the present invention, the videotext or closed captionsignal is not only interpreted as a literal label, as in the prior art,but is also further processed and analyzed to yield data about thecontent of the broadcast, other than merely an explicit identificationof the simultaneously broadcast information.

Beyond the visible region of an NTSC broadcast video frame are a numberof scan lines which are dedicated to presenting digital information,rather than analog picture information. Various known coding schemes areavailable for transmitting and receiving information in this non-viewingportion of the video transmission. Of course, various other transmissionschemes provide a format for transmitting data. For example, standardfrequency modulation (FM) transmissions may be associated with digitaldata transmissions in a subcarrier. Likewise, satellite transmissionsmay include digital data along with an audio data stream or within avideo frame, which may be in analog format or digitally encoded.

Cable systems may transmit information either in the broadcast band orin a separate band. HDTV schemes also generally provide for thetransmission of digital data of various sorts. Thus, known audio andvideo transmission systems may be used, with little or no modificationsto provide enhanced functionality, according to the present invention.It is therefore possible to use known and available facilities fortransmitting additional information relating to the broadcastinformation, in particular, the characteristics of the video broadcast,and doing so could provide significant advantages, used in conjunctionwith the interface and intelligent pattern recognition controller of thepresent invention. If this information were directly available, therewould be a significantly reduced need for advanced image recognitionfunctions, such advanced image recognition functions requiring costlyhardware devices, while still maintaining the advantages of the presentinvention.

It is noted, however, that the implementation of a system in whichcharacterization data of the broadcast is transmitted along therewithmight require a new set of standards and the cooperation ofbroadcasters, as well as possibly the government regulatory and approvalagencies. The present invention does not require, in all of its aspects,such standardization, and therefore may advantageously implementsubstantial data processing locally to the receiver. It is neverthelesswithin the scope of the invention to implement such a broadcast systemwith broadcast of characterization data in accordance with the presentinvention. Such broadcast characterization data may includecharacterizations as well as preprocessed data useful for characterizingaccording to flexible criteria in the local receiving device.

According to the present invention, if such characterizations arebroadcast, they may, as stated above, be in band or out of band, e.g.,making use of unused available spectrum bandwidth within the NTSCchannel space, or other broadcast system channel space, or may be“simulcast” on a separate channel, such as an FM sideband or separatetransmission channel. Use of a separate channel would allow a separateorganization, other than the network broadcasters, to provide thecharacterization data for distribution to users of devices that make useof the present intelligent system for controlling a VCR or otherbroadcast information processing device. Thus, the characterizationgenerating means need not be directly linked to the local user machinein order to fall within the scope of the present invention. The presentinvention also provides a mechanism for copyright holders or otherproprietary interests to be protected, by limiting access to informationbe encryption or selective encryption, and providing an accountingsystem for determining and tracking license or broadcast fees.

Research has been performed relating to VCR usability, technology,implementation, programming steps, current technology, input devices,and human mental capacity. This research has resulted in a new paradigmfor the entry of programming data into a sequential program executiondevice, such as a VCR, by casual users.

Four major problems in the interfaces of VCRs were found to exist. Thefirst is that users spend far too much time searching for necessaryinformation, which is necessary in order to complete the programmingprocess. Second, many people do not program the VCR to record at a latertime (time-shift) frequently, and thus forget the programming steps inthe interim, i.e., the inter-session decay of the learning curve issignificant. Third, the number of buttons on many remote control deviceshas become overwhelming. Fourth, people have become reluctant to operateor program VCRs because of their difficult operation. It was found that,by minimizing the learning and searching times, the user's programmingtime and frustration level can be greatly reduced. If VCRs are easier toprogram, users might program them more frequently. This would allow moreefficiency and flexibility in broadcast scheduling, especially latenight for time shift viewing. The present invention therefore providesan enhanced VCR programming interface having a simplified informationstructure, an intuitive operational structure, simplified control layoutand enhanced automated functionality.

These concepts are easily applied to other special purpose programmabledevices, and also to general purpose programmable devices wherein theprogramming paradigm is event-driven, as well as other programmingsystems. It should also be noted that it is within the scope of thepresent invention to provide an improved interface and programmingenvironment for all types of programmable devices, and in this regard,the present invention incorporates adaptive features which optimize theprogramming environment for both the level of the user and the task tobe programmed.

In optimizing the interface, four elements are particularly important:the input device, the display format, the sequence of the programmingoperation, and the ability of the device to properly interpret the inputas the desired program sequence.

The present invention proceeds from an understanding that an absence ofuser frustration with respect to a programmable consumer or industrialdevice or interface, may be particularly important with respect toachieving the maximum potential functionality thereof. The interfacemust be designed to minimize the user's frustration level. This can beaccomplished by clearly furnishing the possible choices, presenting thedata in a logical sequence, and leading the user through the stepsnecessary to program the device.

When applied to other than audiovisual and/or multimedia application,the pattern recognition function may be used to control the execution ofa program or selectively control execution of portions of the software.For example, in a programmable temperature controller application, asensor or sensor array could be arranged to detect a “door opening”. Onthe occurrence of the door opening, the system would recognize thispattern, i.e. a mass of air at a different temperature entering theenvironment from a single location, or a loss of climate controlled airthrough a single location. In either event, the system would takeappropriate action, including: halt of normal climate control and imposea delay until the door is closed; after closure, set a time constant formaintenance of a steady state of the replaced air with the climatecontrolled air; based on the actual climatic condition afterassimilation, or a predicted climatic condition after assimilation,begin a climate compensation control; optionally, during the dooropening, control a pressure or flow of air to counterbalance the normalflow through the door, by using a fan or other device. The climate maydiffer in temperature, humidity, pollutants, or the like, andappropriate sensors may be employed.

The present invention also allows a dynamic user preference profiledetermination based on explicit or implicit desires, e.g., moods, whichassist in processing data to make decisions which conform to the userpreference at a given point in time. For example, voice patterns, skintemperature, heat pulse rate, external context, skin resistance(galvanic skin response), blood pressure, stress, as determined byelectromyograph (EMG), electorencephalogram (EEG) or other knownmethods, spontaneous motor activity or twitching, may be detected inorder to determine or infer a user mood, which may be used as a dynamicinfluence on the user preference. These dynamic influences arepreferably stored separately from static influences of the preferences,so that a resultant determined preference includes a dynamic influencebased on a determined mood or other temporally varying factor and astatic influence associated with the user.

When a group of people are using the system simultaneously, the systemmust make a determination of a composite preference of the group. Inthis case, the preferences of the individuals of the group, if known,may be correlated to produce an acceptable compromise. Where individualpreferences are not a priori known, individual or group “interviews” maybe initially conducted to assist in determining the best composite grouppreference.

It is therefore an object according to the present invention to providea radio receiver or video receiver device, having a plurality ofdifferent available program sources, determining a program preferencefor one or more individuals subject to a presented program, comparingthe determined program preference and a plurality of different programsources, and selects at least one program based on said comparison.

In formulating a group preference, individual dislikes may be weightedmore heavily than likes, so that the resulting selection is tolerable byall and preferable to most group members. Thus, instead of a best matchto a single preference profile for a single user, a group systemprovides a most acceptable match for the group. It is noted that thismethod is preferably used in groups of limited size, where individualpreference profiles may be obtained, in circumstances where the groupwill interact with the device a number of times, and where the subjectsource program material is the subject of preferences. Where largegroups are present, demographic profiles may be employed, rather thanindividual preferences. Where the device is used a small number of timesby the group or members thereof, the training time may be verysignificant and weigh against automation of selection. Where the sourcematerial has little variety, or is not the subject of strongpreferences, the predictive power of the device as to a desiredselection is limited.

In yet another embodiment, a present mood of a user is determined,either explicitly or implicitly, and the device selects program materialwhich assists in a desired mood transition. The operation of the devicemay additionally acquire data relating to an individual and therespective moods, desires and characteristics, altering the pathprovided to alter the mood based on the data relating to the individual.As stated above, in a group setting, a most acceptable path is presentedrather than a most desirable path as presented for an individual.

In determining mood, a number of physiologic parameters may be detected.In a training circumstance, these set of parameters are correlated witha temporally associated preference. Thus, when a user inputs apreference into the system as feedback, mood data is also obtained.Invariant preferences may be separated, and analyzed globally, withoutregard for temporal variations, while varying preferences are linkedwith information regarding the surrounding circumstances and stored. Forexample, the preference data may be used to train a neural network,e.g., using back-propagation of errors or other known methods. Theinputs to the neural network include available data about surroundingcontext, such as time, environmental brightness, and persons present;source program choices, which may be raw data, preprocessed data, andabstracted data; explicit user input; and, in this embodiment, moodparameters, which may be physiological or biometric data, voice pattern,or implicit inputs. An example of an implicit input is an observation ofa man-machine interaction, such as a video game. The manner in which aperson plays a video game or otherwise interacts with a machine mayprovide valuable data for determining a mood or preference.

According to one embodiment of the invention, the image is preprocessedto decompose the image into object-elements, with variousobject-elements undergoing separate further processing. For example,certain backgrounds may be aesthetically modeled using simple fractalequations. While, in such circumstances the results may be inaccurate inan absolute sense, they may be adequate in a performance sense. Faces,on the other hand, have common and variable elements. Therefore, afacial model may be based on parameters having distinguishing power,such as width between eyes, mouth, shape of ears, and other proportionsand dimensions. Thus, along with color and other data, a facial imagemay be stored as a reference to a facial model with the distinguishingparameters for reconstruction. Such a data processing scheme may producea superior reconstructed image and allow for later recognition of theface, based on the stored parameters in reference to the model.Likewise, many different elements of an image may be extracted andprocessed in accordance with specific models to produce differentiatingparameters, wherein the data is stored as a reference to the particularmodel along with the particular data set derived from the image. Such aprocessing scheme allows efficient image storage along with ease ofobject recognition, i.e., distinction between objects of the same class.This preprocessing provides a highly asymmetric scheme, with a fargreater processing complexity to initially process the image than tosubsequently reconstruct or otherwise later employ the data.

By employing a model-based object extraction system, the availablebandwidth may be efficiently used, so that objects which fall within thescope of an available model may be identified with a modelidentification and a series of parameters, and objects not within thescope of a model may be allocated a comparatively greater bandwidth forgeneral image description, e.g., JPEG, MPEG-1/MPEG-2, standard fractalimage compression, or other image processing schemes. In a worst case,therefore, the bandwidth required will be only slightly greater thanthat required for a corresponding standard method, due only to theadditional overhead to define data types, as necessary. However, byemploying a model based-object decomposition processing system,recognized elements may be described using only a small amount of dataand a greater proportion of data used to describe unrecognized elements.Further, the models available may be dynamically updated, so that, asbetween a communicating transmitted and receiver, retransmission ofunrecognized elements will be eliminated as a model is constructed.

Where image processing systems may produce artifacts and errors, anerror minimization function may also be provided which compares anoriginal image with a decomposed-recomposed image and produces an errorfunction which allows correction for these errors. This error functionmay be transmitted with the processed data to allow more faithfulreproduction. In a pattern recognition context, the error function mayprovide useful data relating to the reliability of a patterncorrelation, or may provide useful data outside of the model andassociated parameters for pattern recognition.

Thus, in the case of an object-extraction model-based processing system,the resulting data stream may be appropriate for both viewing andrecognition. Of course, acoustic data may be likewise processed usingacoustic models with variable parameters. However, in such a system,information for pattern recognition may be filtered, such as eliminatingthe error function or noise data. Further, certain types of objects maybe ignored, for example, under normal circumstances, clouds in the skyprovide little information for pattern recognition and may be removed.In such a system, data intended for viewing or listening will likelycontain all objects in the original data stream, with as much originaldetail as possible given data storage and bandwidth constraints.

An object extraction model based processing system also allows forincreased noise rejection, such as over terrestrial broadcast channels.By transmitting a model, the receiving system may interpolate orextrapolate data to fill in for missing data. By extrapolate, it ismeant that past data is processed to predict a subsequent condition. Byinterpolate, it is meant that data presentation is delayed, and missingdata may therefore be predicted from both past and subsequent datatransmission. Missing portions of images may also be reconstructed fromexisting portions. This reconstruction process is similar to thatdescribed in U.S. Pat. No. 5,247,363, to reconstruct MPEG images; exceptthat where model data is corrupted, the corruption must be identifiedand the corrupt data eliminated and replaced with predicted data.

It is therefore an object according to the present invention to providea programmable control, having a status, responsive to an user input anda signal received from a signal source, comprising a controller forreceiving the user input and the signal and producing a control output;a memory for storing data relating to an activity of the user; a dataprocessing system for adaptively predicting a most probable intendedaction of the user based on said stored data relating to said activityof the user and derived weighing of at least a subset of possiblechoices, said derivation being based on a history of use, a context of arespective choice and said status of the control; and a user feedbackdata presenting system comprising an output device for presentation of avariable sequence of programming options to the user, including saidmost probable intended action of the user, in a plurality of outputmessages, said output messages differing in available programmingoptions.

The programmable control may be employed for performing an action basedon user input and an information content of a signal received from asignal source, wherein said output device includes a display device,further comprising a user controlled direct manipulation-type inputdevice, associated with said display device, having a device output,said device output being the user input; a plant capable of performingthe action, being responsive to an actuator signal; and said controller,being for receiving data from said device output of said input deviceand the signal, and displaying user feedback data on said displaydevice, said logical sequence of said user feedback data including atleast one sequence of options sufficient to define an operable controlprogram, and a presentation of additional programming options if saidcontrol program is not operable.

The programmable control may further comprise a user input processingsystem for adaptively determining a viewer preference based on the userinput received by said controller; a program material processing systemfor characterizing the program material based on its content; acorrelator for correlating said characterized content of the programmaterial with said determined viewer preference to produce a correlationindex; and a processor, selectively processing the program materialbased on said correlation index, said data processing system receivingan input from said processor.

The programmable control may also comprise a plurality of storedprofiles, a processor for characterizing said user input to produce acharacterized user input; and means for comparing said characterizeduser input with at least one of said plurality of stored profiles toproduce a comparison index, wherein said variable sequence ofprogramming options is determined on the basis of said comparison index.The processor for characterizing may perform an algorithm on said signalcomprising a transform selected from the group consisting of an Affinetransformation, a Fourier transformation, a discrete cosinetransformation and a wavelet transformation.

It is a further object according to the present invention to provide aprogrammable controller for controlling a recording device for recordingan analog signal sequentially on a recording medium having a pluralityof uniquely identifiable storage locations, further comprising asequential recording device for recording the analog signal, and amemory for storing, in a directory location on the recording mediumwhich is separate from the storage location of the analog signal,information relating to said signal, processed to selectively retaincharacterizing information, and an identifier of a storage location onthe recording medium in which said analog signal is recorded.

It is another object according to the present invention to provide acontrol, wherein program material is encrypted, further comprising adecryption system for decrypting the program material if it is selectedto produce unencrypted program material and optionally an associateddecryption event; a memory for storing data relating to the occurrenceof said decryption event; and a central database for storing datarelating to the occurrence of said decryption event in association withdata relating to the viewer.

It is still another object according to the present invention to providea control wherein said user input processing system monitors a patternof user activity and predicts a viewer preference; said program materialprocessing system comprising a processor for preprocessing the programmaterial to produce a reduced data flow information signal substantiallyretaining information relating to said abstract information content ofthe program material and selectively eliminating data not relating tosaid abstract information content of the program material and forcharacterizing said information signal based on said abstractinformation content; and a comparing system for determining if saidcorrelation index is indicative of a probable high correlation betweensaid characterization of said information signal and said viewerpreference and causing said stored program material to be processed bysaid processing means based on said determination. The system accordingto this aspect of the present invention preferably comprises an imageprogram material storage and retrieval system.

The present invention further provides a control further comprising amemory for storing a characterization of the program material; an inputfor receiving a feedback signal from the viewer indicating a degree ofagreement with said correlation index determination, wherein saidfeedback signal and said stored characterization are used by said viewerpreference predicting means to predict a new viewer preference.

According to another aspect of the invention, it is an object to providean image information retrieval apparatus, comprising a memory forstoring compressed data representing a plurality of images; a datastorage system for retrieving compressed data representing at least oneof said plurality of images and having an output; a memory for storingcharacterization data representing a plurality of image types, having anoutput; and an image processor, receiving as inputs said outputs fromsaid data storage system and said characterization data memory, andproducing a signal corresponding to a relation between at least one ofsaid plurality of images of said compressed data and at least one ofsaid image types of said characterization data.

It is a still further aspect of the present invention to provide a videointerface device for a user comprising a data transmission system forsimultaneously transmitting data representing a plurality of programs; aselector for selecting at least one of said plurality of programs, beingresponsive to an input; a program database containing informationrelating to said plurality of programs, having an output; a graphicaluser interface for defining commands, comprising (a) an image displaydevice having at least two dimensions of display, being for providingvisual image feedback; and (b) a multidimensional input device having atleast two dimensions of operability, adapted to correspond to said twodimensions of said display device, and having an output, so that theuser may cause said input device to produce a corresponding change in animage of said display device by translating an indicator segment of saiddisplay in said at least two dimensions of display, based on said visualfeedback received from said display device, said indicator segment beingmoved to a translated location of said display device corresponding to auser command; and a controller for controlling said graphical userinterface and for producing said input of said selector, receiving as acontrol said output of said multidimensional input device, saidcontroller receiving said output of said program database and presentinginformation relating to at least one of said plurality of programs onsaid display device associated with a command, said command beinginterpreted by said control means as said user command to produce saidinput of said selector to select said at least one of said plurality ofprograms associated with said command.

Another object of the present invention is to provide an apparatus,receiving as an input from a human user having a user characteristic,comprising an input device, producing an input signal from the humanuser input; a display for displaying information relating to the inputfrom the user and feedback on a current state of the apparatus, havingan alterable image type; an input processor for extracting an inputinstruction relating to a desired change in a state of the apparatusfrom the input signal; a detector for detecting one or moretemporal-spatial user characteristics of the input signal, independentof said input instruction, selected from the group consisting of avelocity component, an efficiency of input, an accuracy of input, aninterruption of input and a high frequency component of input; a memoryfor storing data related to said user characteristics; and a controllerfor altering said image type based on the user characteristics. Thecontroller may alter said image type based on an output of said detectorand said stored data so that said display displays an image type whichcorresponds to said detected user characteristics. The controller mayfurther be for controlling the causation of an action on the occurrenceof an event, further comprising a control for receiving said inputinstruction and storing a program instruction associated with said inputinstruction, said control having a memory sufficient for storing programinstructions to perform an action on the occurrence of an event; and amonitor for monitoring an environment of said apparatus to determine theoccurrence of the event, and causing the performance of the action onthe occurrence of the event. The controller may also alters said imagetype based on an output of said detector and said stored data so thatsaid display means displays an image type which corresponds to saiddetected user characteristics.

It is another object of the present invention to provide an adaptiveprogrammable apparatus having a plurality of states, being programmableby a programmer and operating in an environment in which a plurality ofpossible events occur, each of the events being associated withdifferent data, comprising an data input for receiving data; anprogrammer input, producing an input signal from the programmer; amemory for storing data relating to said data input or said inputsignal; a feedback device for adaptively providing information relatingto said input signal and a current status of the apparatus to theprogrammer, based on said data input or said programmer input, saidstored data, and derived weighing of at least a subset of possiblechoices, said derived weighing being based on a history of use, acontext of a respective choice and said current status of the apparatus;a memory for storing programming data associated with said input signal;and a processor, having a control output, for controlling the responseof said apparatus relating to the detection of said input signal or saiddata in accordance with said stored programming data, said processor:(a) processing said at least one of said input signal or said data toreduce an amount of information while substantially retaining anabstract portion of said information; (b) storing a quantity of saidabstracted information; (c) processing said abstract portion of saidinformation in conjunction with said stored quantity of abstractedinformation; and (d) providing said control output based on saidprocessed abstract portion of said information and said storedprogramming data. The apparatus may further comprise an input forreceiving a programming preference from the programmer indicating aplurality of possible desired events; said processor further including acorrelator for correlating said programming preference with said databased on an adaptive algorithm and for determining a likelihood ofoccurrence of at least one of said desired events, producing saidcontrol output. The apparatus may further comprise an input forreceiving feedback from the programmer indicating a concurrence withsaid control output of said processor, and modifying said responsecontrol based on said received feedback to increase a likelihood ofconcurrence. The apparatus may still further verify said programmingdata to ensure that said programming data comprise a complete andconsistent set of instructions; and include a feedback system forinteractively modifying said programming data. The apparatus may alsocomprise a chronological database and an accessing system for accessingsaid chronological database on the basis of said programming data storedin said memory.

It is also an object according to the present invention to provide anapparatus comprising an input for receiving a programming preferencefrom the programmer indicating a plurality of possible desired events;and a correlator for correlating said programming preference with saiddata based on an adaptive algorithm and for determining a likelihood ofoccurrence of at least one of said desired events, producing saidoutput, said output being associated with the initiation of the saidresponse.

The present invention also provides as an object an apparatus comprisingan input for receiving feedback from the programmer indicating aconcurrence with said output of said correlator, and modifying saidalgorithm based on said received feedback, said feedback devicecomprising a display and said input device is remote from said display,and providing a direct manipulation of display information of saiddisplay.

According to an aspect of the present invention, a processor of theprogrammable apparatus verifies said program instructions to ensure thatsaid program instructions are valid and executable by said processor; anoutput for providing an option, selectable by said programmer input forchanging an instruction stored by said processor, such that saidapparatus enters a state wherein a new instruction may be input tosubstitute for said instruction, wherein said processor verifies saidinstructions such that said instructions are valid; and wherein saidfeedback device further presents information requesting confirmationfrom the programmer of the instructions associated with the inputsignal. The apparatus may further comprise a chronological database andan accessing system for accessing said chronological database on thebasis of said program instructions stored in said memory.

The processor of the programmable apparatus may receive information fromsaid input signal and/or from said data input; and may further comprisean input signal memory for storing at least a portion of said inputsignal or said data, a profile generator for selectively generating aprofile of said input signal or said data, and an input signal profilememory for storing said profile of said input signal or said dataseparately from said input signal or said data in said input signalmemory. The programmable apparatus may further comprise a processor forcomparing said input signal or said data with said stored profile ofsaid input signal or said data to determine the occurrence of an event,and said data optionally comprises image data and said processor forcomparing performs image analysis. The image data may comprise datahaving three associated dimensions obtained by a method selected fromthe group consisting of synthesizing a three dimensional representationbased on a machine based model derived from two dimensional image data,synthesizing a three dimensional representation derived from a timeseries of pixel images, and synthesizing a three dimensionalrepresentation based on a image data representing a plurality ofparallax views each having at least two dimensions.

A user feedback data presenting device according to the presentinvention may comprise a display having a plurality of display images,said display images differing in available programming options.

According to another aspect of the present invention, a program materialprocessing system is provided comprising means for storing templatedata; means for storing the image data; means for generating a pluralityof domains from the stored image data, each of the domains representingdifferent portions of the image information; means for creating, fromthe stored image data, a plurality of addressable mapped rangescorresponding to different subsets of the stored image data, thecreating means including means for executing, for each of the mappedranges, a procedure upon the one of the subsets of the stored image datawhich corresponds to the mapped range; means for assigning identifiersto corresponding ones of the mapped ranges, each of the identifiersspecifying for the corresponding mapped range an address of thecorresponding subset of stored image data; means for selecting, for eachof the domains, the one of the mapped ranges which most closelycorresponds according to predetermined criteria; means for representingat least a portion of the image information as a set of the identifiersof the selected mapped ranges; and means for selecting, from the storedtemplates, a template which most closely corresponds to the set ofidentifiers representing the image information. Said means for selectingmay comprise means for selecting, for each domain, the mapped rangewhich is the most similar, by a method selected from at least one of thegroup consisting of selecting a minimum Hausdorff distance from thedomain, selecting the highest cross-correlation with the domain andselecting the lowest mean square error of the difference between themapped range and the domain. Said means for selecting may also comprise,for each domain, the mapped range with the minimum modified Hausdorffdistance calculated as D[db,mrb]+D[1−db,1−mrb], where D is a distancecalculated between a pair of sets of data each representative of animage, db is a domain, mrb is a mapped range, 1−db is the inverse of adomain, and 1−mrb is an inverse of a mapped range. Said means forrepresenting may further comprise means for determining a feature ofinterest of the image data, selecting a mapped range corresponding tothe feature of interest, storing the identifiers of the selected mappedrange, selecting a further mapped range corresponding to a portion ofimage data having a predetermined relationship to the feature ofinterest and storing the identifiers of the further mapped range.

According to an embodiment of the present invention, said image datacomprises data having three associated dimensions obtained by a methodselected from the group consisting of synthesizing a three dimensionalrepresentation based on a machine based prediction derived from twodimensional image data, synthesizing a three dimensional representationderived from a time series of pixel images, and synthesizing a threedimensional representation based on a image data representing aplurality of parallax views having at least two dimensions.

It is therefore an object of the present invention to provide aprogrammable apparatus for receiving instructions from a programmer andcausing an action to occur on the happening of an event, comprising aninput device, producing an input instruction signal; a control means forreceiving said input instruction signal, and storing a programinstruction associated with said input instruction signal, said controlmeans storing sufficient program instructions to perform an action onthe occurrence of an event, said control means monitoring a status ofsaid apparatus to determine the occurrence of various events, comparingthe determined events with the program instructions, and performing saidaction on the occurrence of said event; a display means forinteractively displaying information related to the instructions to bereceived, and responsive thereto, controlled by said control means, sothat the programmer is presented with feedback on a current state of theapparatus and said program instruction; wherein said control meansfurther comprises means for detecting one or more characteristics ofsaid input instruction signal independent of said program instructionselected from the group consisting of a velocity component, anefficiency of input, an accuracy of input, an interruption of input, ahigh frequency component of input and a past history of input by theprogrammer, whereby when said control means detects a characteristicindicating that said display means is displaying information in asuboptimal fashion, said control means controls said display means todisplay information in a more optimal fashion.

It is also an object of the present invention to provide a programmableapparatus for receiving instructions from a programmer and causing anaction to occur on the happening of an event, comprising an inputdevice, producing an input instruction signal; a control means forreceiving said input instruction signal, and storing a programinstruction associated with said input instruction signal, said controlmeans storing sufficient program instructions to perform an action onthe occurrence of an event, said control means monitoring a status ofsaid apparatus to determine the occurrence of various events, comparingthe determined events with the program instructions, and performing saidaction on the occurrence of said event; a display means forinteractively displaying information related to the instructions to bereceived, and responsive thereto, controlled by said control means, sothat the programmer is presented with feedback on a current state of theapparatus and said program instruction; wherein said control meansfurther comprises means for detecting a need by the programmer for moredetailed information displayed on said display means, by detecting oneor more characteristics of said input instruction signal independent ofsaid program instruction selected from the group consisting of avelocity component, an efficiency of input, an accuracy of input, aninterruption of input, a high frequency component of input and a pasthistory of input by the programmer, whereby when said control meansdetects a characteristic indicating that said display means isinsufficiently detailed information, said control means controls saiddisplay means to display more detailed information.

It is a further object of the present invention to provide aprogrammable apparatus having a data input, said apparatus receivinginstructions from a programmer and causing an action to occur on thereceipt of data indicating an event, comprising an input device,producing an input instruction signal; a control means for receivingsaid input instruction signal, and storing a program instructionassociated with said input instruction signal, said control meansstoring sufficient program instructions to perform an action on thereceipt of data indicating an event, said control means monitoring thedata input; a display means for interactively displaying informationrelated to the instructions to be received, and responsive thereto,controlled by said control means, so that the programmer is presentedwith feedback on a current state of the apparatus and said programinstruction; wherein said control means receives a programmingpreference indicating a desired event from said input device which doesnot unambiguously define said event, and said control means monitorssaid data and causes the occurrence of the action when a correlationbetween said programming preference and said monitored data is above apredetermined threshold, indicating a likely occurrence of said desiredevent. It is also object of the present invention to provide theprogrammable aforementioned apparatus, wherein said input device isremote from said display means, and provides a direct manipulation ofdisplay information of said display means, further comprising means forverifying said program instructions so that said program instructionsare executable by said control means. The control means may furthercomprise a calendar or other chronological database.

Another object of the present invention provides a programmableinformation storage apparatus having a data input, for receiving data tobe stored, said apparatus receiving instructions from a programmer andcausing an action to occur on the receipt of data indicating an event,comprising means for storing data from said data input; an input device,producing an input instruction signal; a control means for receivingsaid input instruction signal, and storing a program instructionassociated with said input instruction signal, said control meansstoring sufficient program instructions to perform an action on thereceipt of data from said data input indicating an event, said controlmeans monitoring the data input to determine the occurrence of variousevents, comparing the determined events with the program instructions,and performing for storing the data said action on the occurrence ofsaid event; wherein said control means receives identifying data from atleast one of said input device and the data input, said identifying databeing stored separately from said input data on a storage medium. Theprogrammable information storage apparatus may also include means forreading said identifying data stored separately on said storage medium,and may also receive as an input said identifying data.

It is also an object of the present invention to provide a programmableapparatus, wherein said control means provides an option, selectable bysaid input means in conjunction with said display means, for changing aninput program instruction prior to execution by said control means, sothat said apparatus enters a state wherein a new program instruction maybe input to substitute for said changed input step, wherein said controlmeans verifies said program instructions so that said programinstructions are executable by said control means.

It is still another object of the present invention to provide aprogrammable apparatus, wherein said control means further causes saiddisplay means to display a confirmation screen after said programinstructions are input, so that the programmer may confirm said programinstructions.

Another object of the present invention is to provide a programmableinformation storage apparatus, wherein said control means furthercomprises means for recognizing character data present in a data streamof said input data, said identifying data comprising said recognizedcharacter data.

It is a still further object of the present invention to provide a videotape recording apparatus, comprising a video signal receiving device, arecording device for recording said video signal, wherein said controlanalyzes said video signal for the presence of a symbol, and recognizessaid symbol as one of a group of recognized symbols, and said controlstores said recognized symbol separately from said video signal.

Another object of the present invention is to provide a recording devicefor recording an analog signal sequentially on a recording medium,comprising means for characterizing the analog signal, wherein datarepresenting said characterization and a location of the analog signalon the recording medium are stored in a directory location on therecording medium separately from the analog signal.

It is a further object of the present invention to provide an interfacefor a programmable control for input of a program for a controller toexecute, which performs an action based on an external signal,comprising an input device, a controller for receiving data from saidinput device and from an external stimulus, a plant being controlled bysaid controller based on an input from said input device and saidexternal stimulus, and a display device being controlled by saidcontroller, for providing visual feedback to a user operating said inputdevice, wherein a predetermined logical sequence of programming optionsis presented to the user on said display device, in a plurality ofdisplay screens, each of said display screens differing in availableprogramming choices; said logical sequence including a correct sequenceof choices to set an operable control program, so that no necessarysteps are omitted; said external stimulus comprises a timing device, andsaid display comprises a display option for programming said plant toperform an action at a time which is input through said input device asa relative position on said display device, said relative positionincluding a means for displaying an absolute time entry and means fordisplaying a relative time entry, said display also comprising a displayoption means for performing an action at a time; said control comprisesmeans for presenting the user, on said display device, with a mostprobable action, which may be selected by the user through activation ofsaid input device without entering data into said controller throughsaid input device relating to both said action and said event; saiddisplay also comprising means for indicating completion of entry of aprogramming step, which means indicates to the user an indication thatsaid programming step is not completed if information necessary forexecution of said step is not available to said controller; and saidcontroller being capable of controlling said display device to presentinformation to the user relating to the use of the apparatus ifnecessary for use of the device by the user.

Another object of the present invention provides a system for presentinga program to a viewer, comprising a source of program material; meansfor determining a viewer preference, said viewer preference optionallybeing context sensitive; means for receiving the program material fromsaid source; means for characterizing the program material based on itscontent; means for correlating said characterized content of the programmaterial with said determined viewer preference to produce a correlationindex; and means for presenting the program material to the viewer, ifsaid correlation index indicates a probable high correlation betweensaid characterization of the program material and said viewerpreference.

Another object of the present invention is to provide a system forpresenting a program to a viewer, comprising a source of programmaterial; means for determining a viewer preference; means for receivingthe program material from said source; means for storing the programmaterial; means for preprocessing the program material to produce areduced data flow information signal retaining information relating to acharacter of the program material and eliminating data not necessary tocharacterize the program material; means for characterizing saidinformation signal based on its content; means for correlating saidcharacterized content of said information signal with said determinedviewer preference to produce a correlation index; and means forpresenting said stored program material to the viewer, if saidcorrelation index indicates a probable high correlation between saidcharacterization of said information signal and said viewer preference.The system may also include a means for storing said information signal,wherein said characterizing means characterizes said stored informationsignal, and also a memory for storing the program material while saidcharacterizing means produces characterized content and said correlatingmeans produces said correlation index.

Still another object of the present invention is to provide a system,wherein said program material is encrypted, further comprising means fordecrypting the program material to produce a decryption event; and meansfor charging an account of the viewer based on the occurrence of adecryption event. Thus, a decryption processor and an accountingdatabase are provided for these purposes.

Another object of the present invention is to allow said means forcharacterizing the program material to operate without causing adecryption event. Thus, the data stream may include characterizationdata specifically suitable for processing by a characterizing system, orthe decryption processor may be provided with multiple levels offunctionality, or both. Further, the system may comprise a memory forstoring the program material while said characterizing means producescharacterized content and said correlating means produces saidcorrelation index. The characterizing means may also characterize theprogram material stored in memory, and the program material stored inmemory may be compressed.

Another object of the present invention is to provide a controller forcontrolling a plant, having a sensor for sensing an external event andproducing a sensor signal, an actuator, responsive to an actuatorsignal, for influencing said external event, and a control means forreceiving said sensor signal and producing an actuator signal,comprising means for inputting a program; means for storing saidprogram; means for characterizing said sensor signal to produce acharacterized signal; and means for comparing said characterized signalwith a pattern stored in a memory to produce a comparison index, whereinsaid actuator signal is produced on the basis of said comparison indexand said program, wherein said characterization comprises an Affinetransformation of said sensor signal. The characterization may compriseone or more transformation selected from the group consisting of anAffine transformation, a Fourier transformation, a Gabor transformation,and a wavelet transformation.

It is another object of the present invention to provide a method forautomatically recognizing digital image data consisting of imageinformation, the method comprising the steps performed by a dataprocessor of storing a plurality of templates; storing the image data inthe data processor; generating a plurality of addressable domains fromthe stored image data, each of the domains representing a portion of theimage information; creating, from the stored image data, a plurality ofaddressable mapped ranges corresponding to different subsets of thestored image data, the creating step including the substep of (a)executing, for each of the mapped ranges, a corresponding procedure uponthe one of the subsets of the stored image data which corresponds to themapped ranges; (b) assigning identifiers to corresponding ones of themapped ranges, each of the identifiers specifying for the correspondingmapped range a procedure and a address of the corresponding subset ofthe stored image data; (c) optionally subjecting a domain to a transformselected from the group consisting of a predetermined rotation, aninversion, a predetermined scaling, and a predetermined preprocessing inthe time, frequency, and/or wavelet domain; (d) selecting, for each ofthe domains or transformed domains, the one of the mapped ranges whichmost closely corresponds according to predetermined criteria; (e)representing the image information as a set of the identifiers of theselected mapped ranges; and (f) selecting, from the stored templates, atemplate which most closely corresponds to the set of identifiersrepresenting the image information. The step of selecting the mappedranges may also include the substep of selecting, for each domain, amost closely corresponding one of the mapped ranges.

It is another object of the present invention to provide amethod-wherein the step of selecting the most closely corresponding oneof the mapped ranges includes the step of selecting, for each domain,the mapped range which is the most similar, by a method selected fromone or more of the group consisting of selecting minimum Hausdorffdistance from the domain, selecting the highest cross-correlation withthe domain, selecting the highest fuzzy correlation with the domain andselecting the minimum mean square error with the domain.

Another object of the present invention provides a method wherein thestep of selecting the most closely corresponding one of mapped rangesincludes the step of selecting, for each domain, the mapped range withthe minimum modified Hausdorff distance calculated asD[db,mrb]+D[1−db,1−mrb], where D is a distance calculated between a pairof sets of data each representative of an image, db is a domain, mrb isa mapped range, 1−db is the inverse of a domain, and 1−mrb is an inverseof a mapped range.

Another object of the present invention provides a method wherein thedigital image data consists of a plurality of pixels each having one ofa plurality of associated color map values, further comprising the stepsof optionally transforming the color map values of the pixels of eachdomain by a function including at least one scaling function for eachaxis of the color map, each of which may be the same or different, andselected to maximize the correspondence between the domains and rangesto which they are to be matched; selecting, for each of the domains, theone of the mapped ranges having color map pixel values which mostclosely correspond to the color map pixel values of the domain accordingto a predetermined criteria, wherein the step of representing the imagecolor map information includes the substep of representing the imagecolor map information as a set of values each including an identifier ofthe selected mapped range and the scaling functions; and selecting amost closely corresponding stored template, based on the identifier ofthe color map mapped range, the scaling functions and the set ofidentifiers representing the image information. The first criteria maycomprise minimizing the Hausdorff distance between each domain and theselected range.

Another object of the present invention is to provide a method furthercomprising the steps of storing delayed image data, which represents animage of a moving object differing in time from the image data in thedata processor; generating a plurality of addressable further domainsfrom the stored delayed image data, each of the further domainsrepresenting a portion of the delayed image information, andcorresponding to a domain; creating, from the stored delayed image data,a plurality of addressable mapped ranges corresponding to differentsubsets of the stored delayed image data; matching the further domainand the domain by subjecting a further domain to one or both of acorresponding transform selected from the group consisting of a nulltransform, a rotation, an inversion, a scaling, a translation and afrequency domain preprocessing, which corresponds to a transform appliedto a corresponding domain, and a noncorresponding transform selectedfrom the group consisting of a rotation, an inversion, a scaling, atranslation and a frequency domain preprocessing, which does notcorrespond to a transform applied to a corresponding domain; computing amotion vector between one of the domain and the further domain, or theset of identifiers representing the image information and the set ofidentifiers representing the delayed image information, and storing themotion vector; compensating the further domain with the motion vectorand computing a difference between the compensated further domain andthe domain; selecting, for each of the delayed domains, the one of themapped ranges which most closely corresponds according to predeterminedcriteria; representing the difference between the compensated furtherdomain and the domain as a set of difference identifiers of a set ofselected mapping ranges and an associated motion vector and representingthe further domain as a set of identifiers of the selected mappingranges; determining a complexity of the difference based on a density ofrepresentation; and when the difference has a complexity below apredetermined threshold, selecting, from the stored templates, atemplate which most closely corresponds to the set of identifiers of theimage data and the set of identifiers of the delayed image data.

Another object of the present invention provides an apparatus forautomatically recognizing digital image data consisting of imageinformation, comprising means for storing template data; means forstoring the image data; means for generating a plurality of addressabledomains from the stored image data, each of the domains representing adifferent portion of the image information; means for creating, from thestored image data, a plurality of addressable mapped rangescorresponding to different subsets of the stored image data, thecreating means including means for executing, for each of the mappedranges, a procedure upon the one of the subsets of the stored image datawhich corresponds to the mapped range; means for assigning identifiersto corresponding ones of the mapped ranges, each of the identifiersspecifying for the corresponding mapped range an address of thecorresponding subset of stored image data; means for selecting, for eachof the domains, the one of the mapped ranges which most closelycorresponds according to predetermined criteria; means for representingthe image information as a set of the identifiers of the selected mappedranges; and means for selecting, from the stored templates, a templatewhich most closely corresponds to the set of identifiers representingthe image information.

Other objects and features of the present invention will become apparentfrom the following detailed description considered in conjunction withthe accompanying drawings. It is to be understood, however, that thedrawings are designed solely for the purposes of illustration and not asa definition of the limits of the invention, for which reference shouldbe made to the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention are shown in the figures in thedrawings, in which:

FIG. 1 is a flow chart of the steps required to set a VCR;

FIG. 2 shows a graphical comparison of required and extra keypresses forthe prior art and the interface of the present invention;

FIG. 3 graphically shows the differences in seconds between total timefor the prior art for each user;

FIG. 4 graphically shows the differences in seconds between total timefor the interface of the present invention for each user;

FIG. 5 graphically shows the programming steps for the comparison of theprior art and the interface of the present invention;

FIG. 6 graphically shows comparative statistics by user comparing theprior art and the interface of the present invention;

FIGS. 7 and 8 graphically show the critical steps in programming theprior art and the interface of the present invention;

FIG. 9 graphically shows the number of keypresses made by testparticipants comparing the prior art and the interface of the presentinvention;

FIG. 10 graphically shows the comparison of the actual and theoreticalnumber of keypresses necessary for programming the prior art and theinterface of the present invention;

FIG. 11 graphically compares the actual and theoretical time necessaryfor programming the prior art and the interface of the presentinvention;

FIGS. 12a and 12b graphically compares the actual and theoretical timenecessary for setting the programs in the prior art and the interface ofthe present invention;

FIGS. 13 and 14 graphically show the percentage time for the criticalsteps in programming the prior art and the interface of the presentinvention;

FIG. 15 is a flow diagram of a predictive user interface of the presentinvention;

FIG. 16 is a flow diagram of the program input verification system ofthe present invention;

FIG. 17 is a flow diagram of a predictive user preference awareinterface of the present invention;

FIG. 18 is a block diagram of a non-program information featureextraction circuit of the present invention;

FIG. 19 is a diagram of a block of information for a catalog entry ofthe present invention;

FIG. 20 is a block diagram of a digital information and analog signalreading/recording apparatus FIG. 21 is a block diagram of a user leveldetermining system of the present invention;

FIG. 22 is a block diagram of a template-based pattern recognitionsystem of the present invention;

FIG. 23 is a block diagram of a control system of the present inventionincorporating a pattern recognition element and an interface;

FIG. 24 is a block diagram of a control system for characterizing andcorrelating a signal pattern with a stored user preference of thepresent invention;

FIG. 25 is a block diagram of a multiple video signal input apparatus,with pattern recognition, data compression, data encryption, and a userinterface of the present invention;

FIG. 26 is a block diagram of a control system for matching a templatewith a sensor input, of the present invention;

FIGS. 27, 28 and 29 are flow diagrams of an iterated function systemmethod for recognizing a pattern according to the present invention; and

FIG. 30 is a semi-cartoon flow diagram of the object decomposition andrecognition method of the present invention.

FIG. 31 is a block diagram of a vehicle communicating with servicesaccording to some embodiments.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The preferred embodiments of the present invention will now be describedwith reference to the Figures. Identical elements in the various figuresare designated with the same reference numerals.

EXAMPLE 1 VCR Interface

A preferred embodiment of the interface of the present invention,described in the present example, provides automatic sequencing ofsteps, leading the user through the correct sequence of actions to set aprogram on the screen, so that no necessary steps are omitted, and nooptional steps are accidentally or unintentionally omitted. These stepsare shown diagrammatically in FIG. 15 of the present invention. Inaddition, such a system does not burden the user with the necessity ofinputting superfluous information, nor overwhelm the user with thedisplay of unnecessary data. See, Hoffberg, Linda I., “AN IMPROVED HUMANFACTORED INTERFACE FOR PROGRAMMABLE DEVICES: A CASE STUDY OF THE VCR”,Master's Thesis, Tufts University; Hoffberg, Linda I., “Designing UserInterface Guidelines For Time-Shift Programming of a Video CassetteRecorder (VCR)”, Proc. of the Human Factors Soc. 35th Ann. Mtg. pp.501-504 (1991); and Hoffberg, Linda I., “Designing a ProgrammableInterface for a Video Cassette Recorder (VCR) to Meet a User's Needs”,Interface 91 pp. 346-351 (1991). See also, U.S. patent application Ser.No. 07/812,805, incorporated herein by reference in its entirety,including appendices and incorporated references.

Many design considerations were found to be important in the improvedinterface of the present invention:

The interface should preferably employ only minimal amounts ofabbreviations and the use of complete words is especially preferred,except where a standard abbreviation is available or where an “iconic”or symbolic figure or textual cue is appropriate. Thus, standardabbreviations and symbols are acceptable, and displayed characterstrings may be shortened or truncated in order to reduce the amount ofinformation that is to be displayed, where necessary or desirable. Anoption may be provided to the user to allow full words, which maydecrease the information which may be conveyed on each screen andincrease the number of screens that must be displayed, or abbreviationsand symbols, which may minimize the number of displayed screens ofinformation, thus allowing the user to make the compromise. This aspectof the system may also be linked to the adaptive user level function ofthe present invention, wherein abstract symbols and abbreviations arepresented to advanced users, while novices are presented with fullwords, based on an implicit indication of user level. These abstractsymbols and abbreviations may be standard elements of the system, oruser designated icons. Of course, the user could explicitly indicate hispreference for the display type, thus deactivating the automaticadaptive user level function.

If multiple users use the device, then the device identifies therelevant users. This may be by explicit identification by keyboard, barcode, magnetic code, smart card (which may advantageously include a userprofile for use with a number of devices), an radio frequencyidentification (RF-ID) or infrared identification (IR-ID) transponder,voice recognition, image recognition, or fingerprint identification. Itis noted that smart cards or other intelligent or data-containingidentifications systems may be used with different types of devices, forexample video, audio, home appliances, heating, ventilation, airconditioning (HVAC) and automobile systems.

Where a new user is identified to the system, an initial query may bemade to determine an optimum initial user level. This allows furtheridentification of the user and preference determination to occur moreefficiently.

In applications in which a user must program an event on a certain date,at a certain time, a built-in calendar menu screen is preferablyemployed so that the user cannot set the device with a program step thatrelies on a non-existent date. Technology that will help eliminate thehuman problem of setting the wrong (yet existing) date may also beemployed. Such technology might include accessing an on-line or othertype of database containing media programming information, and promptingthe user regarding the selected choice. In situations where it isapplicable, the interface should indicate to the user the number ofcharacters the interface is expecting, such as when entering the year.

The interface system provides an easily accessible CHANGE, CANCEL orUNDO (single or multiple level) feature, which facilitates backtrackingor reprogramming the immediately previously entered information ratherthan forcing the user to repeat all or a substantial portion of theprogramming steps. A method of the type described is shown in FIG. 16 ofthe present invention. User input is also facilitated by the provisionof frequently used settings as explicit choices, such as, referring tothe VCR example, “Record today,” “Record tomorrow,” “Noon,” and“Midnight,” so that the user does not have to specify a date in thesecases. This will eliminate extra keypresses, and reduce the programmingtime. In addition, this could eliminate user errors. Frequently usedchoices for program selections are also provided to the user to reducethe number of programming steps necessary and provide the user with allthe frequently used selections. The especially preferred choices are“Once On . . . ”, “Once a Week on . . . ”, “Monday-Friday at . . . ”,“Everyday at . . . ”. These redundant, complex instructions reduce thenumber of keystrokes required for data entry, and reduce the amount ofprogramming time required.

The presently described interface system also provides, in the eventthat a color screen is available, conservatively used color coding,which allows the user to effectively and quickly acknowledge thefunction of each aspect of the screen. When programming, the preferredcolors are royal blue for “help,” red for mistakes, light blue forinformation previously entered, and yellow for current information beingentered. Of course, other colors could be used, according to the user'sor designer's preference, cultural differences, and display parameters.

When viewing, it is preferable that screen colors change to indicatestatus changes, such as viewed/unviewed, or to categorize the shows.

The interface includes a confirmation screen which displays to the userall of the categories and selections previously explicitly entered orotherwise inferred, and should be easily understandable. This is shownin FIG. 15 of the present invention. All of the necessary information isdisplayed on this screen, in addition to the change and cancel options,if possible.

The entering of information on each screen is preferably consistentthroughout the various interface options and levels. All of the screenspreferably have similar layouts. “Buttons” or screen locations which arekeyed to a particular function, which appear on multiple screens, shouldappear in approximately the same location on all screens. However, incertain cases, relatively more important information on a given screenmay be displayed more prominently, and possibly in a different screenlocation, in order to reduce the search time. Further, when otherfactors dictate, each screen may be independently optimized for theprescribed function. For example, a representation of an analog clockdial may be used to set time information. However, even if the formatdoes change, a standard scheme should be maintained, such as the use ofa particular color to indicate that a particular program aspect has beenchanged.

The interface should display data consistent with standards andconventions familiar to users. For, e.g., when entering dates, users aremost familiar with calendars. However, this type of presentation ofchoices does not eliminate the human problem of entering incorrectinformation, e.g., setting a wrong, but existing, date. The problem ofensuring the accuracy of user input may be addressed by an intelligentinterface which stores data concerning programming, user preferences,and by means of some logical method, such as Boolean logic, fuzzy logic,neural network theory, or any other system which may be used to generatea prediction, to determine if an entry is likely in error, by comparingthe prediction with the entry. Of course, these predictive systems wouldalso provide an initial default entry, so that an a priori most probablyaction or actions may be initially presented to the user.

In addition to following conventions of information presentation to theuser, the interface of the present invention may also provide emulationsof other user interfaces of which a particular user may be familiar,even if these are not optimized according to the presently preferredembodiments of the present invention, or not otherwise well known. Theseemulations need not even be of the same type of device, so that a broadbased standard for entry of information into a programmable controls,regardless of their type, may be implemented. By allowing emulation, theinterface could provide compatibility with a standard or proprietaryinterface, with enhanced functionality provided by the features of thepresent interface.

These enhanced functional intelligent aspects of the controller may beimplemented by means of software programming of a simple microcomputer,or by use of more specialized processors, such as a Fuzzy Set Processor(FSP) or Neural Network Processor to provide real-time responsiveness,eliminating delays associated with the implementation of complexcalculations on general purpose computing devices.

In the various embodiments according to the present invention, variouscontrol strategies are employed. Depending on the application, fuzzy setprocessors (FSP's) may be preferred because they have the advantage ofbeing easier to program through the use of presumptions or rules formaking the fuzzy inferences, which may be derived by trial and error orthe knowledge of experts, while Neural Networks are less easilyexplicitly programmed and their network weighing values are not easilyunderstood in the abstract, but these systems may be applied to learnappropriate responses from test data. Thus, neural networks tend torequire extensive “training”, while Fuzzy Set Processors may beexplicitly programmed without the need of duplicating or simulatingactual operating conditions, but may require “fine tuning”.

The most frequently used choices preferably should be displayed as thedefault setting. The screen cursor preferably appears at the “accept”screen button, when the screen is displayed. This default can either beset in advance, or acquired by the system. In the case of acquireddefaults, these may be explicitly set by the user or adaptively acquiredby the system through use. The interface of the present invention may betaught, in a “teach” mode, the preferences of the user, or may alsoacquire this information by analyzing the actual choices made by theuser during operation of the interface and associated controller. Thistype of operation is shown schematically in FIG. 15 of the presentinvention. The options of “Midnight” (12:00 AM) and “Noon” (12:00 PM)should preferably be present, as some people often become confused whendistinguishing between them. Icons, such as those indicative of the“sun” and the “moon”, may also be used to facilitate data entry for AMand PM. The interface should preferably utilize an internal clock andcalendar so that the user cannot set the time or program to record on anonexistent date. Such a system could also compensate fordaylight-savings time seasonal adjustments.

The cursor is preferably distinctive and readily distinguished fromother parts of the screen. This may be by color, attribute (i.e.blinking), size, font change of underlying text, or by other means.

The user can preferably exit the programming sequence at any time byselecting a “Main Menu” button which may exist on the lower left-handcorner of every screen. The user is preferably provided with an adequateamount of feedback, and error messages should be directive in nature.Some form of an acknowledgement is preferably displayed after eachentry. The user should preferably not be able to go to the nextprogramming step until the current step has been completed. A message toconvey why the user can not continue should appear when an attempt toprematurely continue is recognized.

The “help” function is available for when the user does not know what todo. The “help” screen(s) preferably explains the functions of each ofthe available buttons or functions, but may also be limited to thosethat are ambiguous. The “help” screen may also be used to indicate acurrent status of the interface and the controller. Further, the “help”function may also provide access to various other functions, such asadvanced options and configurations, and thus need not be limited tomerely providing information on the display. The help system mayincorporate a hypertext-type system, wherein text or informationrelating to concepts that are conceptually linked may be easily accessedby indicating to the interface system that the related information isdesired. To eliminate the possibility of the user trying to makeselections on merely informative help screens, the cursor, in thesecases, should be locked to a choice which returns the user to where theyleft off in the programming sequence, and this choice should behighlighted.

The “help” function may also comprise “balloon help” similar to thesystem adopted by Apple Computer, Inc. in Macintosh Operating System,e.g., 7.0, 7.1, 7.5, etc.

The interface preferably initiates the programming sequence where theuser wants to be, so that the interface has so-called “smart screens”.For example, when a VCR is first powered up or after an extended powerfailure, and the time and date are not stored in the machine, the “setdate” and “set time” screens should appear. The sequence of screens mayalso vary depending on the system predicted requirements of the user andvarious aspects of the improved interface of the present invention. Thisis shown schematically in FIG. 17 of the present invention.

The preferable input device for the interface of the present inventionprovides as few buttons as possible to achieve the requiredfunctionality, thus reducing potential user intimidation, focusing theuser's attention on the interactive display screen, where the availablechoices are minimized to that number necessary to efficiently allow theuser to program the discrete task presented. Such a minimization ofdiscrete inputs facilitates a voice recognition input, which may be usedas an alternative to mechanical input devices. The preferred embodimentincludes a direct-manipulation type interface, in which a physical actof the user causes a proportionate change in the associated interfacecharacteristic, such as cursor position. A computer mouse, e.g. a twodimensional input device, with 1 to 3 buttons is the preferred inputdevice, for use with a general purpose computer as a controller, while atrackball on a remote control device is especially preferred for limitedpurpose controllers because they do not require a flat surface foroperation. Other stationary or movement sensitive input devices may, ofcourse be used, such as joysticks, gyroscopes, sonic echo-location,magnetic or electrostatic location devices, RF phase location devices,Hallpots (joystick-like device with magnets that move with respect toHall effect transducers), etc. The present interface minimizes thenumber of necessary keys present on an input device, while maintainingthe functionality of the interface. It is noted that a strictminimization without consideration of functionality, might lead toinefficiency. For example, in a VCR device, if the user wants to recorda program which airs Monday through Friday, he would have to set fiveseparate programs, rather than one program if a “weeknights” choice ismade available.

The interface preferably should be easy to learn and should not requirethat a user have prior knowledge of the interface in order to use it. Anattempt has been made to minimize the learning curve, i.e., to minimizethe time it takes to learn how to use the device.

Menu options are preferably displayed in logical order or in theirexpected frequencies. Research has shown that a menu-driven interface isbest for applications involving new users and does not substantiallyhinder experienced users. Menu selection is preferably used for taskswhich involve limited choices. They are most helpful for users withlittle or no training. Each menu should preferably allow only oneselection at a time. Most of the information is preferably entered usinga numeric keypad (entry method), rather than using up and down arrowkeys (selection method). In addition, no leading zeros are required forentry. If there is more than one keystroke required, the user must thenselect an “OK” button to continue in the programming sequence. However,if the selection method is used, all of the choices are displayed on thescreen at once. The number of steps required to complete the taskthrough a sequence of menus should be minimized. The choice of wordsused to convey information should not be device specific, i.e., computerterms, but rather normal, everyday terms which are easy to understand.In addition, very few abbreviations should be used. All necessaryinformation which the user needs should preferably be displayed at once.A user preferably should not have to rely on his memory or his previousexperience, in order to find the correct choice, at least at the loweruser levels. If all selections cannot be displayed at once, ahierarchical sequence is preferably used. A main menu should preferablyprovide a top level to which the user can always return and start over.

Searching and learning times should be kept to a minimum in order toobtain a subjectively better interface. The system's logic shouldreflect the users' expectations, offer visual clues and feedback, andstay within human memory limits. For example, the VCR should turn on notonly with the “Power” button, but also when inserting a tape into thedevice. In addition, the sequence of steps for setting the machine torecord, if the user does not indicate implicitly or explicitly that heknows how to use the device, should assume that the user is a novice,and fully prompt the user for elemental items of information. Nothingshould be taken for granted. By developing an improved interface, anattempt is made to: reduce the searching time; reduce the learning time;simplify the entering of data; and, reduce the intimidation experiencedby certain persons when using electronic devices.

Tests by an inventor hereof show that people do not program their VCRsoften, and they often forget the sequence of steps between recordingsessions. Thus, the present invention preferably incorporates anadaptive user level interface, wherein a novice user is presented with asimpler interface with fewer advanced features initially available, sothat there is reduced searching for the basic functions. A more advanceduser is presented with more advanced choices and functions availableinitially, as compared to a novice user.

Thus, as shown in FIG. 17, the user identifies himself to the controllerin block 1701. The controller 1806 of FIG. 18 thereafter uses a storedprofile of the identified user in controlling the interaction with theuser, as shown in block 1702 of FIG. 17, from information stored in thedatabase 1807 of FIG. 18 of the present invention. It has been foundthat in the case of novice users, a greater number of simpleinstructions may be more quickly and easily input rather than apotentially fewer number of a larger set of more complex instructions.It has further been found that, even if presented with a set ofinstructions which will allow a program to be entered with a fewernumber of inputs, a novice user may choose to input the program usingthe simple instructions exclusively, thus employing an increased numberof instructions and being delayed by an increased search time for thoseinstructions that are used, from the larger set.

Other characteristics of this interface include color coding to helpprompt the user as to which data must be entered. Red text signifiesinstructions or errors, yellow text represents data which must beentered or has not been changed, and blue text shows newly enteredprogram data or status information. Blue buttons represent buttons whichshould normally be pressed during the programming sequence. Red buttonssignify an erratic pattern in the data entry, such as the “cancel” and“return to main menu” buttons. Of course, these colors can be replacedby other display attributes, such as intensity, underline, reversevideo, blinking and pixel dithering pattern, in addition to the use ofvarious fonts. Such a situation would include a monochrome monitor ordisplay.

The date may be entered in the form of a calendar rather than as numbers(i.e., “9/6/91”). This calendar method is advantageous because users maywish to input date data in one of three ways: day of the week, dayrelative to the present, and day of the month. The present method allowsthe current date to be highlighted, so that the calendar may be used toeasily enter the absolute day, absolute date, and relative day. Further,the choices “today” and “tomorrow”, the most frequently used relativerecording times, are included in addition to a month-by-month calendar.This information is provided to avoid an unnecessary waste of time anduser frustration. Thus, another aspect of the present invention is toprovide a partially redundant interactive display input system whichallows, according to the highest probability, the choices to beprominently displayed and easily available, in addition to allowingrandom access to all choices.

The present device allows common user mistakes to be recognized andpossibly addressed, such as the confusion between 12:00 PM and 12:00 AMwith midnight and noon, respectively. Therefore, the options of “noon”and “midnight” are provided in addition to a direct numeric clock input.When entering time information, leading zeros need not be entered, andsuch information may be entered in either fashion.

The criteria for system acceptance of input depends on how manykeystrokes are required on the screen. If only one keystroke is requiredto complete input of the information, upon depressing the key, theprogramming sequence will continue. If more than one keypress isrequired, the user must depress the “OK” button to continue programming.This context sensitive information entry serves to avoid unnecessaryinput.

An on-line “help” system and on-line feedback is preferably provided tothe user throughout various aspects of the interface. Other featuresinclude minimizing the number of keypresses required to program thedevice. These features, together with other aspects of the presentinvention allow the user to achieve a greater efficiency with the inputdevice than with prior art devices.

The interface of the present invention applied to a VCR controlpreferably comprises a virtual keypad entry device (i.e. arepresentation of an array of choices), a directional input control fora cursor on a display screen, and selection buttons. The input devicehas an input corresponding to a direction of movement relative to thecursor position. Thus, since the present input device seeks to minimizethe physical control elements of the human interface device, the displayelements for a preferred embodiment of the present interface include:

-   -   1. number keys 0-9    -   2. enter key    -   3. cancel key    -   4. status indicator    -   5. return to menu option button    -   6. program type indicator: program once, program once a week,        program Monday-Friday, program everyday    -   7. Day indicators: 7 week days, today, tomorrow    -   8. Noon and midnight choices    -   9. Help button    -   10. Main menu options: Review, Enter new recording time, Set        time, Set date    -   11. Timer button    -   12. Power button    -   13. AM/PM choices    -   14. 31 day calendar    -   15. 12 month Choices    -   16. 3 tape speed choices

User dissatisfaction is generally proportionate to the length of “searchtime,” the time necessary in order to locate and execute the nextdesired function or instruction. Search time may be minimized by theinclusion of up to a maximum of 4-8 choices per screen and by use ofconsistent wording and placement of items on the display.

The present invention proceeds from the understanding that there are anumber of aspects of a programmable interface that are desirable:

First, users should be able to operate the system successfully, withoutwide disparities in time. It should take, e.g., a normal personinteracting with a VCR interface, less than seven minutes to set thetime and two programs. Searching time spent in setting the clock,programming, getting into the correct mode, and checking whether or notthe VCR is set correctly should be kept to a minimum through theappropriate choices of menu layout and the presentation of availablechoices.

Second, programming should be a stand-alone process, and not require aninstruction manual. A help system should be incorporated in theinterface. Word choices should be understandable, with a reduction inthe use of confusing word terminology. Error messages should beunderstandable. The system should provide the ability to cancel, changeor exit from any step.

Third, the system should provide on-screen understandable information,with adequate visual feedback. The displays should be consistent. Colorcoding should be employed, where applicable, using, e.g. blue—new input;red—error condition; yellow—static, unchanged value. Layouts should belogical, and follow a predictable pattern. There should be a maximum of4-8 choices per screen to minimize searching time. Keys should belabelled with text rather than with ambiguous graphics. However, acombination of both may be preferable in some cases.

Fourth, steps required to complete tasks should be simple, require ashort amount of time and not create user frustration. The system shouldguide the user along a decision path, providing automatic sequencing ofsteps. The most frequently used choices should be provided as defaults,and smart screens may be employed. The learning curve should beminimized through the use of easily understandable choices. As a userbecomes more sophisticated, the interface may present more advancedchoices.

Fifth, there should be a reminder to set the timer and to insert thetape once the programming information is entered. This reminder may alsobe automated, to eliminate the commonly forgotten step of setting thetimer, so that the VCR automatically sets the timer as soon as thenecessary information is entered and a tape is inserted. Once theprogram is set in memory, a message should appear if a tape is notinserted. If the VCR is part of a “jukebox” (automatic changer), thetape may be automatically loaded. The VCR should preferably turn on whena tape is inserted. In addition, users should also be able to controlthe VCR with a Power button.

Sixth, the VCR should be programmable from both the remote device andthe control panel.

Seventh, each operation should require only one keypress, if possible,or otherwise reduce the number of keypresses required. There should be a12 hour clock, not a 24 hour clock. There should be an on-screen keypadwith entry keys, not “up” and “down” selector keys, allowing for thechoice of specific day or time entry. There should be a “start” and a“stop” recording time, rather than “start” time and “length of program”or duration exclusively. The number of buttons on the remote controlshould be minimized so that as few buttons as are required are provided.The input device should provide for the direct manipulation of screenelements. A menu driven interface should be provided.

The interface of the present invention provides an automatic sequencingof steps which does not normally let the user think the previous step iscomplete. This is shown schematically in FIG. 16. In this manner,important steps will not be inadvertently omitted. Upon entering theprogramming sequence, if the current date or time is not set, theinterface will prompt the user to enter this information. Thereafter,the interface will normally default to the main menu, the mostfrequently used first screen. Thus, the interface of the presentinvention is adaptive, in that its actions depend on the current stateof the device, including prior programming or use of the device by theuser. It can be appreciated that this adaptive behavior can be extendedto include extended “intelligence”. For example, if the device issimilarly programmed on a number of occasions, then the default setupmay be adapted to a new “normal” program mode. Further, the apparatuscould provide multiple levels of user interface, e.g. beginner,intermediate, and advanced, which may differ for various functions,based on the behavior of the user. This user interface level determiningfeature extraction system is shown diagrammatically in FIG. 18. Incontrast, prior art interfaces that have different user interfacelevels, allow the user to explicitly choose the interface level, whichwill then be used throughout the system until reset.

The present system allows discrete tasks to be conducted more quickly,more efficiently, with reduced search time and with fewer errors thanprior art systems.

EXAMPLE 2 Serial Recording Medium Index

In a preferred embodiment of the present invention, in a VCR, in orderto track the content of the tape, a directory or a catalog is recorded,preferably digitally, containing the programming information, as well asadditional information about the recorded programs, in a header, i.e.,at the beginning of the tape, or at other locations on the tape. Thedevice may also catalog the tape contents separately, and based on anidentification of the tape, use a separately stored catalog. A preferredformat for storing information is shown in FIG. 19.

Thus, if there are a number of selections on the tape, the entirecontents of the tape could be accessible quickly, without the need forsearching the entire tape. In a sequential access medium, the tapetransport apparatus must still shuttle to the location of the desiredmaterial, but it may do so at increased speeds, because there is no needto read the tape once the location is determined; after the tapetransport nears the desired spot, the tape may be slowed or preciselycontrolled to reach the exact location.

The tape read and drive system is shown schematically in FIG. 20. Thealgorithm used in the final stage of approach to the desired portion ofthe tape or other recording medium may incorporate a control employingFuzzy logic, Neural Networks, mathematical formulae modeling the system(differential equations) in a Model-based system, aProportional-Differential-Integral (PID) system, or a controlleremploying an algorithm of higher order, or other known control methods.

If a selection is to be recorded over, the start and stop locationswould be automatically determined from the locations already indicatedon the tape. Further, this information could be stored in memory device(which reads a catalog or index of the tape when a new tape is loaded)or non-volatile memory device (which stores information relating toknown tapes within the device) or both types of memory in the VCR, sothat an index function may be implemented in the VCR itself, without theneed to read an entire tape. Optionally, a printer, such as a thermallabel printer (available from, e.g. Seiko Instruments, Inc.), attachedto the device, could be available to produce labels for the tapes,showing the index, so that the contents of a tape may be easilyindicated. A label on the tape may also include a bar code ortwo-dimensional coding system to store content or characterizationinformation. The stored identification and index information is thusstored in a human or machine readable form.

These contents, or a list of contents, need not necessarily be manuallyentered by the user or created by the apparatus, rather, these may bederived from published data or a database, data transmitted to thecontrol, and/or data determined or synthesized by the control itself.For example, broadcast schedules are available in electronic or machinereadable form, and this information may be used by the apparatus.

EXAMPLE 3 Serial Data Medium Index

Another aspect of the present invention relates to the cataloging andindexing of the contents of a storage medium. While random access medianormally incorporate a directory of entries on a disk, and devices suchas optical juke boxes normally are used in conjunction with softwarethat indexes the contents of the available disks, serial access massstorage devices, such as magnetic tape, do not usually employ an index;therefore, the entire tape must be searched in order to locate aspecific selection.

In the present invention, an area of the tape, preferable at thebeginning of the tape or at multiple locations therein, is encoded tohold information relating to the contents of the tape. This encoding isshown in FIG. 19, which shows a data format for the information. Thisformat has an identifying header 1901, a unique tape identifier 1902, anentry identifier 1903, a start time 1904, an end time 1905 and/or aduration 1906, a date code 1907, a channel code 1908, descriptiveinformation 1909 of the described entry, which may include recordingparameters and actual recorded locations on the tape, as well as a titleor episode identifying information, which may be a fixed or variablelength entry, optionally representative scenes 1910, which may beanalog, digital, compressed form, or in a form related to the abstractcharacterizations of the scenes formed in the operation of the device.Finally, there are error correcting codes 1911 for the catalog entry,which may also include advanced block encoding schemes to reduce theaffect of non-Gaussian correlated errors which may occur on video tape,transmission media and the like. This information is preferably amodulated digital signal, recorded on, in the case of Hi-Fi VHS, one ormore of the preexisting tracks on the tape, including the video,overscan area, Audio, Hi-Fi stereo audio, second audio program (AUP) orcontrol tracks. It should be noted that an additional track could beadded, in similar fashion to the overlay of Hi-Fi audio on the videotracks of Hi-Fi VHS. It is also noted that similar techniques could beused with Beta format, 8 mm, or other recording systems, to provide thenecessary indexing functions.

Digital data may also be superimposed as pseudonoise in the imageinformation, or as other information intermixed or merged with the videoinformation.

The recording method is preferable a block encoding method with errorcorrection within each block, block redundancy, and interleaving.Methods are known for reducing the error rate for digital signalsrecorded on unverified media, such as videotape, which are subject toburst errors and long term non-random errors. Such techniques reduce theeffective error rate to acceptable levels. These are known to thoseskilled in the art and need not be discussed herein in detail. Astandard reference related to this topic is Digital Communications byJohn G. Proakis, McGraw-Hill (1983), which is incorporated herein byreference. The digital data recording scheme is best determinedaccording to the characteristics of the recording apparatus. Therefore,if an, e.g. Sony Corporation helical scan recording/reproducingapparatus was employed, one of ordinary skill in the art would initiallyreference methods of the Sony Corporation initially for an optimal errorcorrecting recording scheme, which are available in the patentliterature, in the U.S., Japan, and internationally, and the skilledartisan would also review the known methods used by other manufacturersof digital data recording equipment. Therefore, these methods need notbe explained herein in detail.

The catalog of entries is also preferably stored in non-volatile memory,such as hard disk, associated with the VCR controller. This allows therandom selection of a tape from a library, without need for manuallyscanning the contents of each tape. This also facilitates the randomstorage of recordings on tape, without the requirement of storingrelated entries in physical proximity with one another so that they maybe easily located. This, in turn, allows more efficient use of tape,because of reduced empty space at the end of a tape. The apparatus isshown schematically in FIG. 20, in which a tape drive motor 2001,controlled by a transport control 2002, which in turn is controlled bythe control 2003, moves a tape 2005 past a reading head 2004. The outputof the reading head 2004 is processed by the amplifier/demodulator 2006,which produces a split output signal. One part of the output signalcomprises the analog signal path 2007, which is described elsewhere. Adigital reading circuit 2008 transmits the digital information to adigital information detecting circuit 2009, which in turn decodes theinformation and provides it to the control 2003.

In order to retrieve an entry, the user interacts with the sameinterface that is used for programming the recorder functions; however,the user selects different menu selections, which guide him to theavailable selections. This function, instead of focusing mainly on theparticular user's history in order to predict a selection, would analyzethe entire library, regardless of which user instituted the recording.Further, there would likely be a bias against performing identically themost recently executed function, and rather the predicted function wouldbe an analogous function, based on a programmed or inferred userpreference. This is because it is unlikely that a user will perform anidentical action repeatedly, but a pattern may still be derived.

It is noted that the present library functions differ from the prior artVHS tape index function, because the present index is intelligent, anddoes not require the user to mark an index location and explicitlyprogram the VCR to shuttle to that location. Rather, the index iscontent based. Another advantage of the present library function is thatit can automatically switch media and recording format, providing anadaptive and/or multimode recording system. Such a system might be used,for example, if a user wishes to record, e.g., “The Tonight Show WithJohnny Carson” in highly compressed form, e.g. MPEG-2 at 200:1compression, except during the performance of a musical guest, at whichtime the recording should have a much lower loss, e.g., MPEG-2 at 20:1,or in analog format uncompressed. A normal VCR could hardly be used toimplement such a function even manually, because the tape speed (theanalogy of quality level) cannot generally be changed in mid recording.The present system could recognize the desired special segment, recordit as desired, and indicate the specific parameters on the informationdirectory. The recorded information may then be retrieved sequentially,as in a normal VCR, or the desired selection may be preferentiallyretrieved. If the interface of the present invention is set toautomatically record such special requests, the catalog section wouldthen be available for the user to indicate which selections wererecorded based upon the implicit request of the user. Because theinterface has the ability to characterize the input and record thesecharacterizations in the index, the user may make an explicit requestdifferent from the recording criteria, after a selection has beenrecorded. The controller would then search the index for matchingentries, which could then be retrieved based on the index, and without amanual search of the entire tape. Other advantages of the present systemare obvious to those of ordinary skill in the art.

A library system is available from Open Eyes Video, called “SceneLocator”, which implements a non-intelligent system for indexing thecontents of a videotape. See NewMedia, November/December 1991, p. 69.

It is noted that, if the standard audio tracks are used to record theindexing information, then standard audio frequency modems andrecording/receiving methods are available, adapted to record or receivedata in half-duplex mode. These standard modems range in speed from 300baud to 19,200 baud, e.g. v.29, v.17, v.32, v.32bis, v.Turbo (proposedV.32ter), v.FAST, v.34, etc. While these systems are designed fordial-up telecommunications, and are therefore are designed for thelimited data rates available from plain old telephone service (POTS).These are limited to a slower speed than necessary and incorporatefeatures unnecessary for closed systems, they require a minimum ofdesign effort and the same circuitry may be multiplexed and also be usedfor telecommunication with an on-line database, such as a database ofbroadcast listings, discussed above. It should be noted that afull-duplex modem should be operated in half duplex mode when reading orrecording on a media, thus avoiding the generation of unnecessaryhandshaking signals. Alternatively, a full duplex receiver may beprovided with the resulting audio recorded. A specially programmedreceiver may extract the data from the recording. Dual tone, multiplefrequency (DTMF) codes may also be employed to stored information.

The Videotext standard may also be used to record the catalog orindexing information on the tape. This method, however, if used whiledesired material is on the screen, makes it difficult (but notimpossible) to change the information after it has been recorded,without rerecording entire frames, because the videotext uses the videochannel, during non-visible scan periods thereof. The video recordingsystem according to the present invention preferably faithfully recordsall transmitted information, including SAP, VAR, closed caption andvideotext information, which may be used to implement the variousfunctions.

The use of on-line database listings may be used by the presentinterface to provide information to be downloaded and incorporated inthe index entry of the library function, and may also be used as part ofthe intelligent determination of the content of a broadcast. Thisinformation may further be used for explicitly programming the interfaceby the user, in that the user may be explicitly presented with theavailable choices available from the database.

EXAMPLE 4 Controlled Encryption and Accounting System

The present invention also allows for scrambling, encryption and lockingof source material, and the receiving device selectively implements aninverse process or a partial inverse process for descrambling,decryption or unlocking of the material, much as the Videocipher seriessystems from General Instruments, and the fractal enciphering methods ofEntertainment Made Convenient² Inc. (EMC²) and Iterated Systems, Inc.The present invention, however, is not limited to broadcasts, andinstead could implement a system for both broadcasts and prerecordedmaterials. In the case of copying from one tape to another, such asystem could not only provide the herein mentioned library functions ofthe present invention according to Example 2, it could also be used toaid in copy protection, serial copy management, and a pay-per-viewroyalty collection system.

Such a system could be implemented by way of a telecommunicationfunction incorporated in the device, shown as block 1808 of FIG. 18, oran electronic tag which records user activity relating to a tape or thelike. Such tags might take the form of a smart card, PCMCIA device, orother type of storage device. A royalty fee, etc., could automaticallybe registered to the machine either by telecommunication or registrywith the electronic tag, allowing new viewer options to be provided ascompared with present VCR's.

Numerous digital data encryption and decryption systems are known. Theseinclude data encryption standard (DES), “Clipper”, public key/privatekey (RSA, etc.), pretty good privacy (PGP), and others. Digitalencryption allows a sender to scramble a message so that, with anarbitrary degree of difficulty, the message cannot be determined withoutuse of a decryption key.

An encrypted tape or other source material may be decrypted with adecryption key available by telecommunication with a communicationcenter, remote from the user, in a decryption unit, shown schematicallyas the decrypt unit 1806a of FIG. 18. Such an encryption/decryptionscheme requires special playback equipment, or at least equipment withdecryption functionality, and thus any usage or decrypted data my beregistered as a result of the requirement to receive a decryption key.The decryption unit may be part of an addressable remote unit forcontrol of the unit remotely.

During acquisition of the electronic decryption key, a VCR device of anembodiment of the present invention would indicate its identity orelectronic address, and an account is charged a fee for such use. Thenegotiation for the electronic key is also preferably encrypted. Inaddition, the decryption key may be specific for a particular decoder.Such a system could also be used for controlled access software, forexample for a computer, wherein a remote account is charged for use ofthe software. Information communication may be through the internet orthrough an on-line service such as America Online or Compuserve.

Such a system differs from the normal hardware “key” or “dongle” (devicewhich attaches to standard hardware port for authentication and usagelimitation) because it requires on-line or electronic access for anencryption key, which may offer different levels of use. It also differsfrom a call-in registration, because of the automatic nature of thetelecommunication. This presently described system differs from normalpay-per-view techniques because it allows, in certain instances, theuser to schedule the viewing. Finally, with an encryption functionimplemented in the VCR, the device allows a user to create anddistribute custom “software” or program material. In addition, thepresent controller could then act as the “telecommunication center” andauthorize decryption of the material.

If the source signal is in digital form, a serial copy management schemesystem is preferably implemented.

The present invention is advantageous in this application because itprovides an advanced user interface for creating a program (i.e. asequence of instructions), and it assists the user in selecting from theavailable programs, without having presented the user with a detaileddescription of the programs, i.e., the user may select the choice basedon characteristics rather than literal description.

In the case of encrypted program source material, it is particularlyadvantageous if the characterization of the program occurs withoutcharging the account of the user for such characterization, and onlycharging the account if the program is viewed by the user. The user maymake a viewing decision based on the recommendation of the interfacesystem, or may review the decision based on the title or description ofthe program, or after a limited duration of viewing. Security of thesystem could then be ensured by a two level encryption system, whereinthe initial decryption allows for significant processing, but notcomfortable viewing, while the second level of decryption allowsviewing, and is linked to the accounting system. Alternatively, thedecryption may be performed so that certain information, less than theentirety, is available in a first decryption mode, while otherinformation comprising the broadcast information is available in asecond decryption mode.

The transmission encryption system may be of any type, but for sensitivematerial, i.e. where mere distortion of the material (e.g., loss ofsynchronization information and phase distortion) would be insufficient,an analog multiple subband transform, with spread spectrum band hoppingand digital encryption of various control signals, would provide asystem which would be particularly difficult for the user to viewwithout authorization, and could be effectively implemented withconventionally available technology. The fractal compression andencryption of the EMC² and Iterated Systems, Inc. system is alsoparticularly preferred, in instances where the broadcast may beprecompressed prior to broadcast. Of course, if a digital storage formatis employed, a strict digital encryption system of known type may beused, such as those available from RSA. The implementation of theseencryption systems is known to those skilled in the art. These mayinclude the National Bureau of Standards (NBS), Verifiable SecretSharing (VSS) and National Security Agency (NSA) encryption standards,as well as various proprietary standards.

EXAMPLE 5 User Interface

In one embodiment of the present invention, the apparatus comprises aprogram entry device for a VCR. The human interface element has aninfrared device to allow wireless communication between the humaninterface device and the VCR apparatus proper. The human interfacedevice also includes a direct-manipulation type input device, such as atrackball or joystick. Of course it is understood that various known orto-be developed alternatives can be employed, as described above.

It is noted that many present devices, intended for use in computershaving graphic interfaces, would advantageously make use of an inputdevice which is accessible, without the necessity of moving the user'shands from the keyboard. Thus, for example, Electronic Engineering Times(EET), Oct. 28, 1991, p. 62, incorporated herein by reference, disclosesa miniature joystick incorporated into the functional area of thekeyboard. This technique is directed at a different aspect of userinteraction with a programmable device than certain preferredembodiments of the present invention, in that the input device does nothave a minimal number of keys. While the device disclosed in EET isintended for use in a full function keyboard, the preferred embodimentof the present invention is directed towards the minimization of thenumber of keys and avoidance of superfluous keys by provision of apointing device. Of course, the present invention could be used with afull function input device, where appropriate, and the joystick of EET(Oct. 28, 1991, p. 62) would be suitable in this case.

The interface of the present invention studies the behavior and moods ofthe user, in context, during interactions to determine the expected userlevel of that user as well as the preferences of the user. These usercharacteristics may change over time and circumstances. This means thatthe system studies the interaction of the user to determine the skill ofthe user or his or her familiarity with the operation and functionalityof the system. By determining the skill of the user, the system mayprovide a best compromise. The purpose of this feature is to provide atailored interface adapted to the characteristics of the user, thusadaptively providing access to various features in a hierarchical mannersuch that a most likely feature to be used is more easily accessiblethan an unlikely feature, but that features can generally be accessedfrom all or most user levels. The user level analysis also allows thesystem to teach the user of the various functions available,particularly when it becomes apparent that the user is being inefficientin the use of the system to perform a given task. Therefore, the menustructure may also be adaptive to the particular task being performed bythe user. When combined with the user level analysis feature, the userefficiency feature will provide a preferable interface, with reducedlearning time and increased usability for a variety of users.

Thus, an important concept is that the system has at least one objecthaving a plurality of functions, certain of which are unnecessary or arerarely used for various applications or in various contexts, while theseare used with greater frequency in other contexts. Further, based uponpredetermined protocols and learned patterns, it is possible to predictwhich functions will be used and which will not be used.

Therefore, the system, upon recognizing a context, will reconfigure theavailability or ease of availability of functions and allow varioussubsets to be used through “shortcuts”. Thus, to some extent, theinterface structure may vary from time to time based upon the use of thesystem. The prior art apparently teaches away from this concept, becauseit is believed to prevent standardization, limits the “recordability” ofmacros and/or instruction sheets for casual users and limits theavailability of technical support. Each of these can be addressed, tosome extent by the availability of a default mode (so that users canaccess all information), and because the interface is self-simplifyingin case of difficulty. However, forcing all users to always work in adefault mode limits the improvements in productivity that may be gainedby a data-sensitive processing system, and hence this standardizationfor its own sake is rejected by the present invention.

The improvements to be gained by using an intellegent data analysisinterface for facilitating user control and operation of the system aremore than merely reducing the average number of keystrokes or time toaccess a given function. Initial presentation of all availableinformation to a new user might be too large an information load,leading to inefficiency, increased search time and errors. Rather, theimprovements arise from providing a means for access of and availabilityto functions not necessarily known to the user, and to therefore improvethe perceived quality of the product.

The system to determine the sophistication of the user includes a numberof storage registers, for storing an analysis of each act for each user.A given act is represented in a plurality of the registers, and aweighting system to ensure that even though an act is represented in anumber of registers, it is not given undue emphasis in the analysis.Thus, each act of the user may be characterized in a number of ways, andeach characteristic stored in an appropriate register, along with aweighting representing an importance of the particular characteristic,in relation to other identified characteristics and in relation to theimportance of the act as a whole. The act is considered in context, andtherefore, the stored information relates to the act, the sequence ofacts prior to the act, acts of the user occur after the act, the resultsof the sequence of acts which include the act, and characteristics ofthe user which are not “acts”, but rather include timing, mouse pathefficiency, and an interaction with other users.

An apparatus for performing a path information or efficiency determiningfunction is shown schematically in FIG. 18, and in more detain in FIG.21. Thus, for example, if a characteristic of the user is an unsteadyhand while using the cursor control device, e.g. mouse, producing a highfrequency or oscillating component, the existence of this characteristicis detected and quantified by the high frequency signal componentdetector 2112, and, depending on the amplitude, frequency and duration(e.g. path length), may also be detected by the path optimizationdetector 2105. Once this characteristic is detected and quantified, anadaptive filter may be applied by the main control 1806 to selectivelyremove the detected component from the signal, in order to improve thereliability of the detection of other characteristics and to determinethe intended act of the user.

It should be noted that the various charateristic filters preferably actin “parallel” at each stage of the characteristic recognition, meaningthat one characteristic is defined simultaneously with the detection ofother characteristics, which assists in resolving ambiguities, allowsfor parallel processing by a plurality of processing elements whichimproves real-time recognition speed, and allows a probability-basedanalysis to proceed efficiently. Such a “parallel” computation system isincluded in a neural net computer, and a hardware-implementation of aneural net/fuzzy logic hybrid computer is a preferred embodiment, whichallows fuzzy rules to be programmed to provide explicit control over thefunctioning of the system. It is preferred that a human programmerdetermine the basic rules of operation of the system, prior to allowinga back-propagation of errors learning algorithm to improve and adapt theoperation of the system.

The adaptive system implemented according to the present invention, bydetecting a user level, allows a novice user to productively interactwith the system while not unnecessarily limiting the use of the adaptiveinterface by an advanced user, who, for example, wishes to move thecursor quickly without the limiting effects of a filter which slowscursor response.

Another example of the use of an adaptive user interface level is a userwho repeatedly requests “help” or user instructions, through theexplicit help request detector 2115, which causes an output from thecurrent help level output 2102; such a user may benefit from anautomatic context-sensitive help system, however such a system mayinterfere with an advanced user, and is unnecessary in that case andshould be avoided. This adaptive user interface level concept is notlimited to a particular embodiment of the present invention, such as aVCR, and in fact, may be broadly used wherever a system includes aninterface which is intended for use by both experienced andinexperienced users. This differs from normal help systems which must bespecifically requested, or “balloon help” (Apple Computer, MacintoshSystem 7.0, 7.1, 7.5) which is either engaged or disengaged, but notadaptive to the particular situation based on an implicit request orpredicted need. In the case of a single user or group of users, theinterface could maintain a history of feature usage for each user, as inthe past user history block 2107, and provide a lower user interfacelevel for those features which are rarely used, and therefore lessfamiliar to the user, through the current user level output 2101.

It should be noted that the present system preferably detects anidentity of a user, and therefore differentiates between different usersby an explicit or implicit identification system. Therefore, the systemmay accumulate information regarding users without confusion orintermingling.

EXAMPLE 6 VCR Programming Preference Prediction

The device according to the present invention is preferably intelligent.In the case of a VCR, the user could also input characteristics of theprogram material that are desired, and characteristics of that programmaterial which is not desired. The device would then, over time, monitorvarious broadcast choices, and determine which most closely match thecriteria, and thus be identified. For example, if the user prefers“talk-shows”, and indicates a dislike for “situation comedies”(“sitcoms”), then the device could scan the various available choicesfor characteristics indicative of one or the other type of programming,and perform a correlation to determine the most appropriate choice(s). Asitcom, for example, usually has a “laugh track” during a pause innormal dialogue. The background of a sitcom is often a confined space (a“set”), from different perspectives, which has a large number of “props”which may be common or unique. This set and the props, however, may beenduring over the life of a show.

A talk-show, on the other hand, more often relies on actual audiencereaction (possibly in response to an “applause” sign), and notprerecorded or synthesized sounds. The set is simple, and the broadcastoften shows a head and neck, or full body shot with a bland background,likely with fewer enduring props. A signal processing computer,programmed for audio and/or video recognition, is provided todifferentiate between at least the two types with some degree ofefficiency, and with a possibly extended sampling time, have arecognition accuracy, such that, when this information is integratedwith other available information, a reliable decision may be made. Therequired level of reliability, of course, will depend on the particularapplication and a cost-benefit analysis for the required system toimplement the decision-making system.

Since the system according to the present invention need not displayperfect accuracy, the preferred embodiment according to the presentexample applies general principles to new situations and receives useror other feedback as to the appropriateness of a given decision. Basedon this feedback, subsequent encounters with the same or similar datasets will produce a result which is “closer” to an optimal decision.Therefore, with the aid of feedback, the search criterion would beimproved. Thus, a user could teach the interface through trial and errorto record the desired broadcast programs. Thus, the presently describedrecognition algorithms may be adaptive and learning, and need not applya finite set of predetermined rules in operation. For such a learningtask, a neural network processor may be implemented, as known in theart.

The feature extraction and correlation system according to the presentinvention is shown in FIG. 22. In this figure, the multimedia input,including the audio signal and all other available data, are input inthe video input 2201. The video portion is transferred to a frame buffer2202, which temporarily stores all of the information. All otherinformation in the signal, including audio, VIR, videotext, closecaption, SAP (second audio program), and overscan, is preferably storedin a memory, and analyzed as appropriate. The frame buffer 2202 may havean integral or separate prefiltering component 2203. The filteredsignal(s) are then passed to a feature extractor 2204, which divides thevideo frame into a number of features, including movement, objects,foreground, background, etc. Further, sequences of video frames areanalyzed in conjunction with the audio and other information, andfeatures relating to the correlation of the video and other information,e.g., correlation of video and audio, are extracted. Other informationis also analyzed and features extracted, e.g., audio and close caption.All extracted features relating to the multimedia input are then passedto a transform engine or multiple engines in parallel, 2205. Thesetransform engines 2205 serve to match the extracted features withexemplars or standard form templates in the template database 2206.

It should be noted that even errors or lack of correlation betweencertain data may provide useful information. Therefore, a mismatchbetween audio and close caption or audio and SAP may be indicative ofuseful information. For non-video information, exemplars or templatesare patterns which allow identification of an aspect of the signal bycomparing the pattern of an unidentified signal with the stored pattern.Thus, the voice patterns of particular persons and audio patterns ofparticular songs or artists may be stored in a database and employed toidentify a source signal.

The transformed extracted features and the templates are then correlatedby a correlator or correlators 2207. The parallelization ofimplementation of the transforms and correlators serves to increase therecognition speed of the device. It should be understood thatappropriate systems for parallelization are known in the art. Forexample, the TMS 320C80, also known as the TI MVP (Texas Instrumentsmultimedia video processor) contains four DSP engines and a reducedinstruction set computer (RISC) processor with a floating point unit ona single die. A board including a TMS 320C80 is available from GeneralImaging Corp., Billerica Mass., the S/IP80, which may be programmed withProtoPIPE. In addition, a board including a TMS 320C80 is also availablefrom Wintriss Engineering Corp., San Diego, Calif. Multiple MVPprocessors may also be parallelized for additional computing power. TheMVP may be used to analyze, in parallel, the multimedia input signal andcorrelate it with stored patterns in a database. In this context,correlation does not necessarily denote a strict mathematicalcorrelation, but rather indicates a comparison to determine the“closeness” of an identified portion of information with an unidentifiedportion, preferably including a reliability indicator as well.Therefore, since there may be multiple recognizable aspects of theunidentified data, and various degrees or genericness of thecharacteristic recognized, it is preferred that at this initial stage ofthe recognition process that the output of the correlators 2207 be adata set, e.g. a matrix, series of pointers, or other arrangement, sothat sufficient information is available for higher level processing toallow application of an appropriate decision process. Of course, if thecharacteristic to be detected is simple and well defined, and thedecision-making process may be implemented with a simple correlationresult, then a complex data set output is not required. In fact, theoutput of the correlator may have a number of different forms, based onthe context of the recognition process.

If, for example, an exact match to an entire frame is sought, partialmatch information is not particularly useful, and is ignored in thisprocess. (Of course, since the system is “self-learning”, the processingresults may be maintained and analyzed for other purposes). If thesystem, on the other hand, is analyzing novel data, a full analysiswould likely be necessary including partial results and low correlationresults.

The outputs of the correlators are input into an adaptive weighingnetwork 2208, to produce a probability of a match between a givenfeature and a given template. The recognition is completed in anidentifier 2209, which produces a signal identifying one or more objectsin the video frame input. The identifier 2209 also has an output to thetemplate database 2206, which reinforces the recognition by providingfeedback; therefore, if the same object appears again, it will be moreeasily recognized. The template database 2206 therefore also has aninput from the feature extractor 2204, which provides it withinformation regarding the features recognized. It is also noted that, inaddition to allowing recognition, the parallel transform engines 2205,correlators 2207, and adaptive weighing network 2208 also allows thesystem to ignore features that, though complex, do not aid inrecognition.

For example, during dialogue, the soundtrack voice may correlate withthe mouth movements. Thus, the mouth movements aid little inrecognition, and may be virtally ignored, except in the case where aparticular person's mouth movements are distinctive, e.g., Jim Nabors(“Gomer Pyle”), and Tim Curry (“Rocky Horror Picture Show”). Thus, thecomplexity and parallelism in the intermediate recognition stages mayactually simplify the later stages by allowing more abstract features tobe emphasized in the analysis. Animation poses a special example whereaudio and image data may be separated, due to the generallynon-physiologic relation between the image and soundtrack.

The pattern recognition function of the present invention could be used,in a VCR embodiment according to the present invention to, e.g., to editcommercials out of a broadcast, either by recognition of characteristicspresent in commercials, in general, or by pattern recognition ofspecific commercials in particular, which are often repeated numeroustimes at various times of the day, and on various broadcast channels.Therefore, the system may acquire an unidentified source signal, whichmay be, for example, a 30 second segment, and compare this with adatabase of characteristics of known signals. If the signal does notmatch any previously known or identified signals, it is then subject toa characterization which may be the same or different than thecharacterization of the identified signals. The characterizations of theunidentified signal are then compared to characteristics to berecognized. If the unidentified signal meets appropriate criteria, apresumptive generic characterization is made. This characterization ispreferably confirmed by a user later, so that a positively identifiedsignal is added to the database of identified signals; however, undercertain circumstances no confirmation is required.

Certain media present a recognizable audio or video cue when acommercial break has ended. (E.g. often sports events, such as theOlympic Games, will have theme music or distinctive images). The presentdevice need not respond immediately to such cues, and may incorporate adelay, which would store the information while a decision is being made.In the case of a video tape, the delay may be up to the time between thetime of recording and the time of playback. Further, the temporarystorage medium may be independent of the pattern recognition system.Thus, a system provided according to the present invention may actuallyinclude two independent or semi-independent data streams: the firstserving as the desired signal to be stored, retaining visually importantinformation, and the second providing information for storage relatingto the pattern recognition system, which retains information importantfor the recognition process, and may discard this information after thepattern recognition procedure is complete.

A system which provides a plurality of parallel data streamsrepresenting the same source signal may be advantageous because isallows a broadcast quality temporary storage, which may be analog innature, to be separate from the signal processing and patternrecognition stage, which may be of any type, including digital, optical,analog or other known types, which need only retain significantinformation for the pattern recognition, and therefore may be highlycompressed (e.g. lossy compression), and devoid of various types ofinformation which are irrelevant or of little importance to the patternrecognition functions. Further, the temporary storage may employ adifferent image compression algorithm, e.g. MPEG-2 or MPEG-1, which isoptimized for retention of visually important information, while therecognition system may use a compression system optimized for pattern.recognition, which may retain information relevant to the recognitionfunction which is lost in other compression systems, while discardingother information which would be visually important.

In a particularly advantageous arrangement, the compression algorithm isintegral to the recognition function, preparing the data for the patternmatching and characterization, and therefore is optimized for highthroughput. According to this embodiment, the initial compression mayinclude redundant or uncompressed information, if necessary in order toachieve real-time or near real-time recognition, and, thus may actuallyresult in a larger intermediate data storage requirement than theinstantaneous data presented to the recognition system; however, theterm “compression”, in this case, applies to the long term or steadystate status of the device, and in a real-time recognition function, theamount of data stored for use in recognition is preferably less than thecumulative amount of data presented, except during the very initialstages of data acquisition and possibly rare peaks.

In the case where a high quality (low loss, e.g. broadcast quality)intermediate storage is employed, after a decision is made as to whetherthe data should be stored permanently or otherwise further processed ordistributed, the data may be transferred to the appropriate system orsubsystem of the apparatus. Alternatively, the high quality intermediatestorage is retained, and no further processing is performed. In eithercase, the purpose of this storage is to buffer the source data until thecomputational latency resolves any decisions which must be made.

According to one aspect of the present invention, the source image maybe compressed using the so called “fractal transform”, using the methodof Barnsley and Sloan, which is implemented and available as a hardwareaccelerator in product form from Iterated Systems, Inc., Norcross, Ga.,as the FTC-II, which incorporates eight fractal transform integratedcircuit chips, 1 MByte of Random Access Memory (RAM), and an Inteli80960CA-25 μP, and operates in conjunction with P.OEM™ (IteratedSystems, Inc., Norcross, Ga.) software, which operates underMicroSoft-Disk Operating System (MS-DOS). Fractal Transform Card (FTC)II hardware compression requires approximately 1 second per frame, whilesoftware decompression on an Intel 80486-25 based MS-DOS computer, using“Fractal Formatter” software, can be performed at about 30 frames persecond, which allows approximately real time viewing. The Fractal VideoPro 1.5 is a video codec for Microsoft Windows Operating System,allowing software only playback at 15-30 fps, 70-150 Kbytes/sec. This isa non-symmetrical algorithm, requiring more processing to compress thanto decompress the image. The FTC-IV Compression Accelerator Board ispresently available.

This fractal compression method allows data compression of upwards of2000:1, while still maintaining an aesthetically acceptable decompressedimage result. Further, since the method emphasizes structural aspects ofthe image, as opposed to the frequency decomposition used in DCT methods(JPEG, MPEG), elements of the fractal method could be used as a part ofthe image recognition system. Of course, it should be appreciated thatother fractal processing methods are available and may be likewiseemployed.

Audio data is also compressible by means of fractal transforms. It isnoted that the audio compression and image recognition functions cannotbe performed on the FTC-II board, and therefore an alternate system mustbe employed in order to apply the pattern recognition aspects of thepresent invention. It should also be noted that an even more efficientcompression-pattern recognition system could be constructed by using thefractal compression method in conjunction with other compressionmethods, which may be more efficient under certain circumstances, suchas discrete cosine transform (DCT), e.g. JPEG or modified JPEG orwavelet techniques. Fractal compression systems are also available fromother sources, e.g. the method of Greenwood et al., Netrologic Inc., SanDiego, Calif. See also, Shepard, J. D., “Tapping the Potential of DataCompression”, Military and Aerospace Electronics, May 17, 1993, pp.25-27.

A preferred method for compressing audio information includes amodel-based compression system. This system may retain stored samples,or derive these from the data stream. The system preferably alsoincludes high-level models of the human vocal tract and vocalizations,as well as common musical instruments. This system therefore storesinformation in a manner which allows faithful reproduction of the audiocontent and also provides emphasis on the information-conveyingstructure of the audio signal. Thus, a preferred compression for audiosignals retains, in readily available form, information important in apattern recognition system to determine an abstract information content,as well as to allow pattern matching. Of course, a dual data streamapproach may also be applied, and other known compression methods may beemployed.

Because of the high complexity of describing a particular signal patternor group of audio or image patterns, in general, the system will learnby example, with a simple identification of a desired or undesiredpattern allowing analysis of the entire pattern, and extraction ofcharacteristics thereof for use in preference determination.

Barnsley and Sloan's method for automatically processing digital imagedata consisting of image information, disclosed in U.S. Pat. Nos.5,065,447 and 4,941,193, both expressly incorporated herein byreference, consists of the steps of storing the image data in the dataprocessor, then generating a plurality of uniquely addressable domainblocks from the stored image data, each of the domain blocksrepresenting a different portion of the image information such that allof the image information is contained in at least one of the domainblocks. A plurality of uniquely addressable mapped range blockscorresponding to different subsets of the stored image data are created,from the stored image data, with each of the subsets having a uniqueaddress. This step includes the substep of executing, for each of themapped range blocks, a corresponding procedure upon the one of thesubsets of the stored image data which corresponds to the mapped rangeblock. Unique identifiers are then assigned to corresponding ones of themapped range blocks, each of the identifiers specifying for thecorresponding mapped range block a procedure and a address of thecorresponding subset of the stored image data. For each of the domainblocks, the one of the mapped range blocks which most closelycorresponds according to predetermined criteria is selected. Finally,the image information is represented as a set of the identifiers of theselected mapped range blocks. This method allows a fractal compressionof image data. In particular, Drs. Barnsley and Sloan have optimized thematch of the domain blocks with the mapping region by minimizing theHausdorff distance. A decompression of the data precedes analogously inreverse order starting with the identifiers and the mapping regions toproduce a facsimile of the original image. This system is highlyasymmetric, and requires significantly more processing to compress thanto decompress. Barnsley and Sloan do not suggest a method for using thefractal compression to facilitate image recognition, which is a part ofthe present invention.

Basically, the fractal method proceeds from an understanding that realimages are made up of a plurality of like subcomponents, varying insize, orientation, etc. Thus, a complex block of data may be describedby reference to the subcomponent, the size, orientation, etc. of theblock. The entire image may thus be described as the composite of thesub-images. This is what is meant by iterative function systems, wherefirst a largest block is identified, and the pattern mapping isrepetitively performed to describe the entire image.

The Iterated Systems, Inc. FTC-H or FTC-IV board, if applied as a partof a system according to the present invention, is preferably used inconjunction with a frame-grabber board, such as Matrox, Quebec, Canada,Image-LC board, or a Data Translation DT1451, DT2651, DT2862, DT2867,DT2861 or DT2871, which may perform additional functions, such aspreprocessing of the image signal, .and may be further used inconjunction with an image processing system, such as the DataTranslation DT2878. Of course, it should be understood that any suitablehardware, for capturing, processing and storing the input signals, up toand including the state of the art, may be incorporated in a systemaccording to the present invention without exceeding the scope hereof,as the present invention is not dependent on any particular subsystem,and may make use of the latest advances. The Texas Instruments TMS320C80provides a substantial amount of computing power and is a preferredprocessor for certain computationally intensive operations. A systememploying a parallel TMS 320C40 processors may also be used.

A pattern recognition database system is available from ExcaliburTechnologies, San Diego, Calif. Further, IBM has had pattern recognitionfunctionality available for its DB/2 database system, and has licensedExcalibur's XRS image retriever recognition software for DB/2. See, Lu,C., “Publish It Electronically”, Byte, September 1993, pp. 94-109,incorporated herein by reference. Apple Computer has included search bysketch and search by example functions in PhotoFlash 2.0. See also,Cohen, R., “FullPixelSearch Helps Users Locate Graphics”, MacWeek, Aug.23, 1993, p. 77.

Image processing hardware and systems are also available from Alacron,Nashua N.H.; Coreco, St. Laurent, Quebec; Analogic, and others.

A fractal-based system for real-time video compression, satellitebroadcasting and decompression is also known from Iterated Systems, Inc.and Entertainment Made Convenient, Inc. (EMC²). In such a system, sincethe compressed signal is transmitted, the remote receiving system neednot necessarily complete decompression prior to the intelligent patternrecognition function of the present invention. This system alsoincorporates anticopy encryption and royalty and accountingdocumentation systems. It is noted that the EMC² system does notincorporate the intelligent features of the present invention.

A preferred fractal-based system according to the present informationprovides the source data preprocessed to allow easy and efficientextraction of information. While much precharacterization informationmay be provided explicitly, the preferred system allows other, unindexedinformation to also be extracted from the signal. Further, the preferredsystem provides for an accounting system which facilitates pay-per-viewfunctions. Thus, the interface of the present invention could interactwith the standard accounting system to allow royalty-based recording orviewing, and possibly implement a serial-copy recording preventionsystem. Prior art systems require a user to explicitly select a program,rather than allow an intelligent system to assist in selection andprogramming of the device. The EMC² system is described in “EMC² PushesVideo Rental By Satellite”, Electronic Engineering Times, Dec. 2, 1991,p.1, p. 98, which is incorporated herein by reference. See also,Yoshida, J., “The Video-on-demand Demand”, Electronic Engineering Times,Mar. 15, 1993, pp. 1, 72.

Fractal techniques may be used to store images on a writable massstorage medium, e.g. CD-ROM compatible. The present system may thus beused to selectively access data on the CD-ROM by analyzing the images,without requiring full decompression of the image data.

Thus, one embodiment of the device according to the present inventionmay incorporate a memory for storing a program, before being transferredto a permanent storage facility, such as tape. Such a memory may includea hard disk drive, magnetic tape loop, a rewritable optical disk drive,or semiconductor memories, including such devices as wafer scale memorydevices. This is shown diagrammatically as the intermediate storage 2210of FIG. 22. The capacity of such a device may be effectively increasedthrough the use of image data compression, which may be proprietary or astandard format, i.e. MPEG, MPEG-2 (Motion Picture Experts Groupstandard employing DCT encoding of frames and interframe coding), JPEG(Joint Photographic Experts Group standard employing DCT encoding offrames), Px64 (Comitè Consultatif International des Telegraph ettelephone (International telegraph and telephone consultative committee)(CCITT) standard H.261, videoconferencing transmission standard), DVI(Digital Video Interactive), CDI (Compact Disk Interactive), etc.Standard devices are available for processing such signals such as theIntegrated Information Technology, Inc. (IIT, now 8×8, Inc.) VisionProcessor (VP) chip, Integrated Information Technology Inc., SantaClara, Calif., the C-Cube CL55OB (JPEG) and CL950 (MPEG decoding),SGS-Thompson ST13220, STV3200, STV3208 (JPEG, MPEG, Px64), LSI LogicL64735, L64745 and L64765 (JPEG) and Px64 chip sets, and the Intel Corp.i750B DVI processor sets (82750PB, 82750DB). Programmable devices,including the Texas Instruments TMS32OC80 MVP (multimedia videoprocessor) and members of the Intel DVI family may be used to processinformation according to standard methods, and further provide theadvantage of customizability of the methods employed.

Various alternative image processing chips are available as single chipsand chip sets; in board level products, such as the Super MotionCompression and Super Still-Frame Compression by New Media Graphics ofBillerica, Mass., for the Personal Computer-Advanced technology (PC-AT,an IBM created computer standard) bus; Optibase, Canoga Park, Calif.(Motorola DSP with dedicated processor for MPEG); NuVista+ fromTruevision (Macintosh video capture and output); New Video Corp.(Venice, CA) EyeQ Delivery board for Macintosh NuBus systems (DVI);Intel Corp. ActionMedia II boards for Microsoft Windows and IBM OS/2 inIndustry Standard Adapter (ISA, the IBM-PC bus standard) (AT bus); MicroChannel Architecture (MCA) (e.g., DVI, Presentation Level Video (PLV)2.0, Real Time Video (RTV) 2.0) based machines; and as completeproducts, such as MediaStation by VideoLogic. The TMS320C80 is availablein a development system from Texas Instruments, Inc. The use andinterfacing of chip sets and multimedia boards such as those describedare known to those skilled in the art. It is noted that the presentinterface does not depend on a particular compression format or storagemedium, so that any suitable format may be used. The followingreferences describe various video compression hardware, and areincorporated herein by reference: Kim, Y., “Chips Deliver Multimedia”,Byte, December 1991, pp. 163-173; and Donovan, J., “Intel/IBM'sAudio-Video Kernel”, Byte, December, 1991, pp. 177-202.

Various available DSP chips, exemplary board level signal processingproducts and available software are described in more detail in “32-bitFloating-Point DSP Processors”, EDN, Nov. 7, 1991, pp. 127-146,incorporated herein by reference. The TMS320C80 includes four DSPelements and a RISC processor with a floating point unit.

It should also be noted that the data compression algorithm applied forstorage of the received data may be lossless or lossy, depending on theapplication. Various different methods and paradigms may be used. Forexample, DCT (discrete cosine transform) based methods, wavelets,fractals, and other known methods may be used. These may be implementedby various known means. A compressed image may also be advantageouslyused in conjunction with the image recognition system of the presentinvention, as described above. In such a case, the compression systemwould retain the information most important in the recognition function,and truncate the unimportant information.

A further method of performing pattern recognition, especially of twodimensional patterns, is optical pattern recognition, where an image iscorrelated with a set of known image patterns represented on a hologram,and the product is a pattern according to a correlation between theinput pattern and the provided known patterns. Because this is anoptical technique, it is performed nearly instantaneously, and theoutput information can be reentered into an electronic digital computerthrough optical transducers known in the art. Such a system is describedin Casasent, D., Photonics Spectra, November 1991, pp. 134-140, which isincorporated herein by reference. See also references cited therein.

These optical recognition systems are best suited to applications wherean uncharacterized input signal frame is to be compared to a finitenumber of visually different comparison frames (i.e., at least one, withan upper limit generally defined by the physical limitations of theoptical storage media and the system for interfacing to the storagemedia), and where an optical correlation will provide usefulinformation. Thus, if a user wished to detect one of, e.g., “DavidLetterman”, “Jay Lenno”, or “David Koppel”, a number of different planarviews, or holograms in differing poses, of these persons would be formedas a holographic correlation matrix, which could be superimposed as amultiple exposure, stacked in the width dimension, or placed in a planarmatrix, side by side. The detection system produces, from theuncharacterized input image and the holographic matrix, a wavefrontpattern that is detectable by photonic sensors.

It is preferred that if multiple holographic images of a particularcharacterization are employed, that they each produce a more similarresulting wavefront pattern than the holographic images of othercharacterizations, in order to enhance detection efficiency. The opticalpattern recognition method is limited in that a holographic image mustbe prepared of the desired pattern to be detected, and that opticallysimilar images might actually be of a different image, if thedifferences are subtle. However, this method may be used in conjunctionwith electronic digital pattern recognition methods, to obtain theadvantages of both. Methods are also known to electronically write animage to a holographic storage medium, thereby facilitating its use in ageneral-purpose image recognition system. Of course, the system may alsobe used to identify talk show guests, such as “Richard Gere” or “CindyCrawford”, or these same individuals in other contexts.

If image compression is used, once an image is compressed, it need notbe decompressed and returned to pixel, NTSC or other standardtransmission or format for storage on tape, and thus the compressedimage information may be stored in the same format as is present in thetemporary storage medium. Thus, the block labelled intermediateprocessing 2211 of FIG. 22 shows that the intermediate storage need notretain the information as received from the frame buffer 2202, and infact, may prepare it for the feature extractor 2204. In addition, thestorage medium itself need not be normal videotape (VHS, Beta, 8 mm) andmay be an adapted analog storage technique or a digital storagetechnique. Various magneto-optical recording techniques for disc storageare available which can store between 128 MB (3½″) and around 5 GB(11″), uncompressed, which might be suitable for storing compresseddigital or analog information. Multilayer CD-ROM and short wavelength(e.g., blue) laser systems allow storage densities of about 3.5 to 10Gbytes per disk, allowing storage of over two hours of MPEG-2 encodedvideo.

It is also noted that the present technology could also be applied toany sort of mass storage, such as for a personal computer. In such acase, a characteristic of the computer file, which is analogous to thebroadcast program in temporary storage of a VCR, is classified accordingto some criteria, which may be explicit, such as an explicit header oridentifying information, or implicit, such as a document in letterformat, or a memorandum, as well as by words and word proximity. Inparticular, such a recognition system could differentiate variousclients or authors based on the content of the document, and these couldbe stored in different manners. The text analysis system of a text-basedcomputer storage system is analogous to the program classificationsystem of the VCR embodiment of the present invention. However, there isa further analogy, in that the VCR could incorporate optical characterrecognition of text displayed in the program material, employ voicerecognition, or directly receive text information as a part of a closedcaption or videotext system. Thus, the VCR device according to thepresent invention could recognize and classify programs based on textualcues, and make decisions based on these cues. This might also provide asimple method of discriminating program material, for example, if acommercial does not include close caption or Second Audio Program (SAP),while the desired program does, or vice versa, then a commercial couldbe discriminated from a program with very little computationalexpenditure.

EXAMPLE 7 VCR Interface

A particular VCR interface system according to one aspect of the presentinvention includes an internal clock, four program memory, and thecapability to display a graphical color interface. By providing the userwith the aforementioned features, this design is a unique implementationfor an instrument to be used for programming an event driven controllervia an interactive display. All information that the user needs isdisplayed on the screen to avoid or minimize the unnecessary searchingfor information. This information includes the current date and currenttime.

A simulation of the AKAI VCR VS303U (on-screen programming) and theinterface of the present invention, were tested to evaluate users'performances. The AKAI interface of the prior art, hereinafter referredto as the prior art interface, was chosen because users made the fewesterrors while using this machine, and no user quit while programming, ascompared to three other VCRs tested, a Panasonic PV4962 (Bar Coder), anRCA VKP950 (on-screen programming), Panasonic PV4700 (Display Panel).

The present embodiment was constructed and tested using HyperPAD™, arapid prototyping package for an IBM-PC Compatible Computer. It is, ofcourse obvious that the present embodiment could be incorporated in acommercial VCR machine by those skilled in the art, or be implemented onmany types of general purpose computers with output screens which allowon-screen feedback for the programming operation. Further, the system ofthe present embodiment can include a remote-control device whichcommunicates with a VCR through an infrared beam or beams, and can thusexert control over an infrared remote controlled VCR, or translate theprogramming information and communicate through an infrared remotecontrol, using the standard type infrared transmitter.

An IBM PC-AT compatible (MS-DOS, Intel 80286-10 MHz) computer was usedto test the two simulations. In order to simulate the use of a remotecontrol device in programming the VCR, an infrared device made by NViewmwas attached to the computer. This device came with a keyboard that wasused to “teach” a Memorex™ Universal Remote so that the desired actionscould be obtained. By using a universal remote, the computer could becontrolled by using a remote control.

The present embodiment incorporates a mouse input device. It isunderstood that a small trackball with a button for selection, mountedon a remote control may also be employed, and may be preferable incertain circumstances. However, a computer mouse is easily available,and the mouse and trackball data are essentially similar for the type oftask implemented by the user, with trackball performance being slightlyfaster. For daily use on a

VCR however, a trackball would be a more preferable input device becauseit does not require a hard, flat surface, which is not always availableto a user when programming a VCR, such as in the situation where aperson is watching television while sitting in a chair or sofa.

A Genius™ Mouse was used as the input device in the prototype of theinterface of the present invention. With the mouse, the user could viewall of the choices at once on the display screen, and then make aselection from the items on the screen by moving the cursor and thenpressing the left mouse button.

The interface of the present example focuses on attending to the user'sneeds, and the interface must be modified for each application. Byreducing the searching, learning times, and entry times, the mental loadis also minimized. Some tradeoffs are necessary as a result ofsubjective and objective data. Because of the difficulty in optimizing asingle interface design for all levels of users, a menu system was usedin an attempt to satisfy all these user types.

The interface of the present example reduced the number of incorrectrecordings by 50%. The severity of the errors is unimportant herebecause one wrong entry will cause an irretrievable mistake and the userwill not record the intended program. One study reported that faultyinputs, which lead to missing the program, can be reported by almostevery present day owner of a VCR.

EXAMPLE 8 Programmable Device Interface

It is also noted that the interface of the present invention need not belimited to audio-visual and multimedia applications, as similar issuesarise in various programmable controller environments. Such issues aredisclosed in Carlson, Mark A., “Design Goals for an Effective UserInterface”, Electro/82 Proceedings, 3/1/1-3/1/4; Kreifeldt, John, “HumanFactors Approach to Medical Instrument Design”, Electro/82 Proceedings,3/3/1-3/3/6; Wilke, William, “Easy Operation of Instruments by Both Manand Machine”, Electro/82 Proceedings, 3/2/1-3/2/4; Green, Lee, “ThermoTech: Here's a common sense guide to the new thinking thermostats”,Popular Mechanics, October 1985, 155-159; Moore, T. G. and Dartnall,“Human Factors of a Microelectronic Product: The Central HeatingTimer/Programmer”, Applied Ergonomics, 1983, Vol. 13, No.1, 15-23; and“The Smart House: Human Factors in Home Automation”, Human Factors inPractice, December 1990, 1-36, all of which are incorporated herein byreference.

This generalized system is shown in FIG. 23, in which the sensor array2301 interfaces with a microprocessor 2302 with a serial data port2302a, which transmits sensor data to a control 2303. The control 2303further interfaces or includes a data pattern recognition system 2304and an interface and programming console 2305 according to the presentinvention, using the aforementioned intelligent features and adaptivepattern recognition techniques. The control 2203 controls the plant2306, which includes all the controlled actuators, etc.

EXAMPLE 9 Adaptive Graphic Interface

A “smart screen” aspect according to the present invention is furtherexplored in the present example. This aspect of the present inventionallows the interface to anticipate or predict the intent of the user, toprovide, as a default user choice, the most likely action to be taken bythe user of the programmable device as a default, which may be eitheraccepted or rejected by the user, without inordinate delay to the user.The intelligent selection feature may also automatically choose anoption and execute the selected option, without further intervention, incases where little or no harm will result. Examples of such harm includea loss of data, a substantial waste of the user's time and aninappropriate unauthorized allocation of computational resources.

When a user regularly applies the VCR device, for example, to record aparticular television show which appears weekly on a given televisionchannel, at a given time, on a given channel, such an action could beimmediately presented to the user as a first option, without forcing himto explicitly program the entire sequence. Likewise, if the user hasalready entered such a command, the presented choices could include asecond most likely selection, as well as the possibility of cancellingthe previously entered command.

Further, if an entire television programming guide for a week or monthis available as a database, the interface could actively determinewhether the desired show is preempted, a repeat (e.g., one which hasbeen previously recorded by the system), changed in time or programmingslot, etc. Thus, the interface could present information to the user, ofwhich he might not be aware, and/or predict an action based on thatinformation. Such a device could, if set in a mode of operation thatallows such, automatically execute a sequence of instructions based on apredicted course of action. Thus, if a user is to be absent for aperiod, he could set the machine to automatically record a show, even ifthe recording parameters are not known with precision at the time ofsetting by the user. Of course, this particular embodiment depends onthe availability of a database of current broadcast schedules, however,such a database may generally be available, e.g., in an on-linedatabase.

Such an on-line database system of known type may be used and need notbe described in detail herein. Alternately, a printed schedule ofbroadcasts may be scanned into a computer and the printed informationdeciphered (e.g., optical character recognition (OCR)) to gain access toa database. Other methods may also be used to access schedulinginformation, e.g. access channels on cable systems, as well as otherbroadcast information identifying future and imminent programming.Together, these methods allow semiautonomous operation, guided byprogramming preferences rather than explicit programs, where suchexplicit instruction is absent.

The smart screens according to the present invention may be implementedas follows. The controller may be, for example, an Apple Power Macintosh8100/110 AV computer, operating under Macintosh 7.5 operating system.The Hypercard™ 2.3 software may be used to implement the screeninterface, which incorporates the above-described features, which isgenerally compatible with the Hyperpad software described above.HyperCard™ is mentioned due to its capabilities to reference externalprograms, thus allowing interfacing to various software and hardwaredevices. A more global scripting language, such as Frontier by User-LandSoftware Inc., may also be used, especially where low level hardwarecontrol of interfaced devices, such as a-VCR, multimedia adapter, or thelike is desired. Apple Applescript may also be used. The Quicktimeformat may be used to store and recall data, however, many acceptableformats exist. The input device is an Apple Desktop Bus (ADB) mouse, andthe output display is an 8 bit or 24 bit graphics color adapterconnected to, e.g., a 14″ color monitor. In addition, various parametersconcerning the use of the interface are stored in the computer's memory,and a non-volatile mass storage device, such as a hard disk drive, orElectrically Erasable Programmable read Only Memory (EEPROM) or ErasableProgrammable Read Only Memory (EPROM) as well as battery backed RAMcould also be used.

Intel Pentium-based platforms may also be used, preferably in IBM-PCcompatible implementations. Intel 80860 and/or Intel 80960 processorplatforms may also be used.

Alternatively, other Apple Power PC, Macintosh (MC680X0 series) or IBMPower PC implementation may be used, providing the advantage ofincreased processing power over Motorola 680X0 derivatives. The specificPower PC employed may be any version, including desktop system versionsavailable from Apple and IBM and embedded versions from IBM andMotorola. These Power PC processors may also be provided in a parallelprocessing implementation. Further, custom implementations of Power PChardware optimized for the relevant computational tasks may be employed.

Of course, other systems, including DEC Alpha and HP 9000 systems mayalso be employed, as well as SPARC, MIPS, and other available RISCsystems. While RISC systems, possibly supplemented with DSP hardware,are presently preferred because of their efficiency in executing thepattern recognition tasks, Complex Instruction Set Computer (CISC),hybrid and other known processing systems may be employed. The TexasInstruments TMS320C80 combines a RISC processor, arithmatic logic unit(ALU) and four DSP processors on a single chip, and is therefore apreferred processor for implementing various aspects of the system,especially mathematical processing including DCT and correlations.

According to the present invention, the interface may performcomparatively simple tasks, such as standard graphic user interfaceimplementation with optimized presentation of screen options, or includemore complex functionality, such as pattern recognition, patternmatching and complex user preference correlations. Therefore, hardwarerequirements will range from basic 68040, 80486, Pentium, Power PC,MIPS, SPARC, DEC Alpha, or other microprocessors which are used toperform visual or audio interface functions, to much special purposeprocessors for implementation of complex algorithms, includingmathematical, neural network, fuzzy logic, and iterated function systems(fractals).

It should be noted that, while many aspects of the intelligent interfaceaccording to the present invention do not require extremely high levelsof processing power, and therefore may be provided with inexpensive andcommonly available computing hardware, other aspects involve complexpattern recognition and advantageously employ powerful processors toachieve a short processing latency. Both simple and complex interfacesystems, however, are included within the scope of the presentinvention. Processing may be distributed in different fashions, so thatcomplex functionality may be implemented with relatively simple localhardware, with a substantial amount of required processing for a highlevel of functionality performed centrally, and for a large number ofusers.

From the stored information regarding the prior use of the interface bythe user, including prior sessions and the immediate session, and acurrent state of the machine (including a received data stream andinformation relating to the data stream previously stored), a predictedcourse of action or operation may be realized. This predicted operationis, in the context of the current user interface state, the mostprobable next action to be taken by the user.

The predicted operation is based on: the identity of the user, if morethan one user operates the interface and machine, the informationalready entered into the interface during the present programmingsession, the presently available choices for data entry, settings forthe use of the machine, which may be present as a result of a “setup”operation, settings saved during a prior session, and a database ofprogramming choices. In the case of a HyperCard script, the interfacesoftware calls another program which has access to the necessary data inthe memory, as well as access to any remote database which may benecessary for implementation of the function. Using a predictivetechnology, such as Boolean logic, fuzzy logic, neural network logic, orother type of artificial intelligence, a most probable choice may bepresented to the user for his approval, or another alternative choicemay be selected. Further, a number of most probable choices may bepresented simultaneously or in sequence, in order to improve theprobability that the user will be immediately or quickly presented withan acceptable choice. If multiple choices are presented, and there islimited room on the display, two (or more) similar choices may be mergedinto a single menu selection, which may be resolved in a secondary menuscreen. e.g. a submenu or dialog box.

FIG. 24 shows a system for correlating a user's preferences with aprospective or real-time occurrence of an event. The input device 2401,which is a remote control with a pointing device, such as a trackball,provides the user's input to the control 2402. The program is stored ina program memory 2403, after it is entered. The control 2402 controls aplant 2404, which is a VCR. The control also controls an on-screenprogramming interface 2405, through which the user interactively entersthe program information. Each program entry of the user is submitted tothe user history database and preferences module 2406, which may alsoreceive explicit preference information, input by the user through theinput device 2401. The prospective and real time event characterizationunit 2407 uses any and/or all relevant information available in order todetermine the character of a signal input, which is a video signal, fromthe signal receiver 2408. A signal analyzer 2409 provides a preliminaryanalysis and characterization of the signal, which is input to theprospective and real time event characterization unit 2407. Theprospective and real time event characterization unit 2407 alsointeracts and receives an input from a telecommunication module 2410,which in turn interacts and receives information from an on-linedatabase 2411. A user preference and event correlator 2412 produces anoutput relating to a relatedness of an event or prospective event and auser preference. In the event of a high correlation or relatedness, thecontrol 2402 determines that the event or prospective event is a likelyor most likely predicted action. The prospective event discussed aboverefers to a scheduled event, which is likely to occur in the future. Thecharacterization unit also has a local database 2413 for storingschedule information and the like.

In the particular context of a videotape, one consideration of the useris the amount of time remaining on the tape. Generally, users wish tooptimally fill a tape without splitting a program, although theoptimization and non-splitting parameters may vary between users.Therefore, the length of the tape and the amount and character of otheritems on the tape are also factors to be employed in determining a mostdesired result. With respect to this issue, the interface may maintain alibrary function which allows the identification of a partially filledtape for recording under given circumstances. The interface may alsooptimize a playback by selecting a tape containing a desired sequence ofmaterials.

The intelligent interface may also be used as a part of an educationalsystem, due to its ability to adapt to the level of the user anddynamically alter an information presentation based on the “user level”,i.e. the training status of the user, and its ability to determine areasof high and low performance. Likewise, the intelligent interfaceaccording to the present invention may also be used in a businessenvironment for use by trained individuals who require relatively staticsoftware interface design for consistence and “touch typing” withmemorized keystroke or mouse click sequences. In this case, theintelligent functionality is segregated into a separate user interfacestructure, such as an additional “pull down menu” or other availablescreen location. While the interface always monitors user performance,the impact of the analysis of the user is selectively applied. Useranalysis may also be used for performance evaluation according to anobjective criteria, based on continuous monitoring. In a networkenvironment, user profile and evaluation may be made portable, stored soas to be accessible from any networked device the user may interactwith, from office computers to thermostats to photocopying machines tocoffee machines.

EXAMPLE 10 Intelligent Adaptive VCR Interface

A user interacting with the device intends to record a particularprogram, “Married With Children” (Fox, Sunday, 9:00 p.m., etc.) on itsever occurrence. This intent, however, is to provide a full library ofepisodes, and not to duplicate episodes. The particular program issubject to the occurrence of reruns, syndicated distribution, timeshifting of performance, preview scenes and advertisements. Further,various actors appearing in the particular program also appear in othercapacities and roles on television. Therefore, after this intent iselucidated, the interface scans available directories of programming todetermine when “Marries With Children” will be broadcast. In addition,to the extent possible, all channels may be monitored, in the event thatthe directories or erroneous or incomplete.

It is noted that the interface may be quite effective if it is used fora number of applications, such as television, radio, desktop computer,and even kitchen and HVAC system. For example, preferences forprocessing MTV or other music video information may be directly relevantto processing of radio or other music reproduction devices, and viceversa.

At some point in the process, preferably prior to substantiveprogramming input, the interface performs a self-diagnostic check todetermine whether the machine is set up and operating correctly. Thiswould include a determination of whether the clock has been set andthereafter operating continuously. Of course, the clock could have, inpractice, a battery to minimize the occurrence of problems relating toclock function. The interface would then, if the clock is not properlyset, and if there is no telecommunication or other external means forautomatically determining the exact time, present the user with a menuselection to set the proper time. Of course, if the correct time isavailable to the apparatus in some form, this could be automaticallyobtained, and the internal clock updated, without intervention. Thesesame sources may be used to verify the accuracy of an internal clock.Further, if a reliable external clock system is available, an internalclock may be dispensed with or ignored. Time may also be inferred basedon the regular schedules of broadcasts, e.g., the 11:00 p.m. news beginsat 11:00 p.m. If the user does not have access to a source of the exacttime, the step of correcting the time may be deferred, although at somepoint the user should be reminded to verify the clock information. Theuser may thus be able to override a machine-generated request or attemptto correct the time data.

If the machine has access to an external source of the exact time, itwould then preferably access this source first. Such sources of exacttime include a telephone connection to a voice line which repeats thetime. The computer would then perform a speech recognition algorithmwhich would be used to determine the time. Such a speech recognitionalgorithm could also be used as a part of the user interface for otherpurposes, i.e. a speech recognition system is not supplied solely forobtaining time information. Alternatively, a modem or communicationdevice could be used to obtain the time in digitally coded form over anetwork, which would alleviate the need for speech recognitioncapabilities for this function. An on-line connection could also be usedin order to obtain information concerning television scheduling.

A further method for obtaining accurate time information is to access avideo signal which contains the desired time information. For example,many cable broadcasting systems have a channel which continuouslybroadcasts the time in image form. The interface tunes this channel, andacquires a representation of the screen image, thereafter performing acharacter recognition algorithm to capture the time information. Thischaracter recognition algorithm could also be used to obtain or captureinformation regarding programming schedules, stock prices, and othertext information which may appear on certain cable broadcast channels.

Thus, the interface, in obtaining necessary information, employs suchavailable data source access methods as speech recognition, characterrecognition, digital telecommunication means, radio wave reception andinterpretation, and links to other devices.

In interacting with the apparatus, the user first identifieshimself/herself to the machine, which can occur in a number of ways.This step may be dispensed with, or at least trivialized, if only oneuser regularly interacts with the apparatus. Otherwise, suchidentification may be important in order to maintain the integrity ofthe user profiles and predictive aspects of the interface. An radiofrequency transponder (RF-ID), infrared transponder (IR-ED) system mayautomatically determine the user based on a devices, which may beconcealed in a piece of jewelry or wristwatch. The user may also beidentified by voice pattern recognition, speaker independent voicerecognition, video pattern recognition, fingerprint, retinal scan, orother biometric evaluation. An explicit entry of the user identity mayalso be employed, wherein the user types his/her name on a keyboard orselects the name or unique identifier from a “pick-list”. The-interface,upon identifying the user, retrieves information regarding the user,which may include past history of use, user preferences, usersophistication, patterns of variation of user, which may be based on,e.g., time, mood, weather, lighting, biometric factor or other factors.

Thus, after completing system diagnostics, including the time-checkfunction referred to above, the system next determines or predicts thedesired function of the user. In this regard, if more than one user hasaccess to the system, the user identifies himself to the interface, in auser identification step 1701 or an analogous action, which may be acoded entry, or a selection from the menu. If the interface has voicerecognition capability, then the user may be recognized by his voicepattern, or merely by stating his name. The interface then accesses thememory for a profile of the past use of the machine by the user, whichmay include the entire prior history, relevant abstracts of the history,or derived user preferences, as shown in the personalized startup basedon user profile step 1702, which information is also stored and used inthe past user history determining element 2107. These choices differ inthe amount of storage necessary in order to retain the desiredinformation.

Thus, if the user has only used the VCR to record, e.g., the NBC 11o'clock news, i.e., record all days from 11:00 p.m. to 11:30 p.m. onNBC, in the past, the most likely current predicted choice would be theNBC 11 o'clock news. If the interface were to present a number ofchoices, having lower probability, then it interprets the recordinghistory to be “news” based on a database of broadcast information.Therefore, a prediction of lower probability would be ABC or CBS newsat, e.g., 11:00 p.m., and the NBC news at, e.g., 5:00 p.m. In a cabletelevision system, there may be a number of NBC affiliated newsalternatives, so that these alternatives may be investigated firstbefore other networks or the like are presented as likely choices. Inaddition, where a video feed is unavailable, a text feed from theinternet or an on-line service may be acquired as a probablealternative.

Thus, a number of likely choices, based on intelligently determinedalternatives, as well as adaptation based on determined userpreferences, are initially presented to the user, along with a menuselection to allow rejection of these predicted choices. In this case,the user selects the “reject” selection, and the system presents theuser with a next predicted desired menu choice. Since the user history,in this case, does not provide for another choice of particularly highprobability, the user is prompted to explicitly choose the programsequence by day, time, channel, and duration. The user then enters thestarting time for recording according to the methods described above.The interface then searches its databases regarding the user andbroadcast listings to present a most likely choice given that parameter,as well as all available alternatives. In this case, the user history isof little help, and is not useful for making a prediction. In othercases, the system uses its intelligence to “fill in the blanks”, whichcould, of course, be rejected by the user if these are inaccurate orinappropriate. The most likely choices are then those programs thatbegin at the selected time. If the user had input the channel ornetwork, instead of starting time, then the presented choices would bethe broadcast schedule of the channel, e.g. channel 5 or Fox, for theselected day.

The user then selects one of the available choices, which completes theprogramming sequence. If no database of broadcasts is available, thenthe user explicitly defines all parameters of the broadcast. When theprogramming is completed, the interface then updates its user database,prompts the user to set the VCR to record, by, e.g., inserting a blankor recordable tape.

If the predicted desire of the user is of no help, or the user seeks toexplicitly program the system, a manual program entry system isavailable. Where there is no useful prediction of the user, theinterface may request a training session, which may be a generalinquiry, or specifically directed to immediately forthcoming broadcasts,or both.

In this case, after a failure to predict a desired program, the userthen proceeds to explicitly program the VCR interface to record “Marriedwith Children” on Fox at 9:00 p.m. on Sunday evening. If a database isavailable, it might also show that “Married with Children” is alsosyndicated in re-runs, and therefore various episodes may be availableon other channels at other times. Thus, during the subsequent session,both the premier showing and re-run of “Married With Children” would beavailable predicted choices, along with the 11 o'clock News on NBC.

The user having demonstrated a preference for “Married with Children”,the interface then characterizes the program. This includes, forexample, a characterization of the soundtrack, the background,foreground, actors and actresses present, credits, etc. The interfacethen attempts to correlate the features present in the referenceselection with other available selections. This comparison may be with apreformed database, providing immediate results, or prospectively, afterentry of the reference selection. Of course, a number of correlationfunctions may proceed simultaneously, and various choices may be mergedto form a compound reference selection, any ambiguity in which to belater resolved. Further, as various “episodes” of the referenceselection occur, the system appends and integrates the most recentoccurrence with the stored reference information, thus updating thereference database.

When an occurrence is identified, it is immediately buffered, until suchtime as the particular episode may be compared against previously storedepisodes. If two identical broadcasts occur simultaneously, one may beselected, i.e., the one with the best reception. When the episode isidentified, if it is new, the buffered broadcast information ispermanently stored; if it is previously stored, the buffer is flushedand the occurrence is further ignored as a “hit”. Since the apparatus isnow not responding to a direct request, it may then perform varioushousekeeping functions, including updating databases of broadcasts andthe like. This is because, although the apparatus is preferably highlytrained upon manufacture, a large number of new broadcasts are alwaysbeing created and presented, so that the apparatus must constantlymaintain its “awareness” of data types and trends, as well as update itspredicted preferences of the user(s).

Based on input from the user, other programming including the sameactors and/or actresses may be processed, e.g., recorded. For example.Katey Segal periodically appears on “Jay Leno” as a musical guest, andtherefore may be recorded in these appearances.

EXAMPLE 11 Intelligent Adaptive VCR Interface

Another example of the use of the present programming system allows ahybrid request which does not correspond to any single broadcastschedule entry. In this case, if the user instead wishes to recordweather reports on all channels, the interface may be of further help.The interface controls a plurality of tuner elements 2502 of a videosignal reception device 2501, so that a plurality of broadcasts may besimultaneously received. Using the mass storage and possibly image datacompression described above, a plurality of broadcasts may also berecorded simultaneously in the intermediate storage 2503. The massstorage may be multiple VCRs, optical storage, magnetooptical storage,magnetic storage including disk (e.g. single disks, multimediacompatible disks, redundant array of inexpensive disks (RAID), etc.)tape (quarter inch cartridge (QIC), 8 mm, 4 mm, etc.). The opticalrecording tape produced by ICI, Ltd. might also be a useful storagemedium for large volumes of data, as might be generated by recordingmultiple video signals, although the present implementations make thisICI system best suited for commercial or industrial use and not forindividual consumer use. In this case, the interface 2506 accesses itsassociated database 2413 to determine, at a given time, which channelsare broadcasting “news”. The interface system might also randomly orsystematically monitor or scan all or a portion of the availablebroadcasts for “special reports”. The interface system then monitorsthese channels for indicia of a “weather” information content broadcast.

For example, the newscaster who appears to report the weather on a givenshow is usually the same, so that a pattern recognition system 2505 ofthe video frame could indicate the presence of that newscaster. Inaddition, the satellite photographs, weather radar, computer generatedweather forecast screens, etc. are often similar for each broadcast.Finally, news segments, such as “weather” often appear at the samerelative time in the broadcast. Using this information, the interfacesystem selects certain broadcast segments for retention.

This retention begins at a beginning of a news segment, such as“weather”, stop recording during commercials, and continues after returnfrom break, on all selected channels. In order to assist in makingaccurate decisions, the monitored broadcasts may be stored in atemporary storage medium until a decision is made, and thereaftertransfer the recording to a more permanent storage medium if that beappropriate. It is noted that the system of the present invention isintelligent, and may therefore “learn” either explicitly, or throughtraining by example. Therefore, if the system made an error during theprocess, the user may define the error of the system, e.g., a substitutenewscaster or rearrangement of news segments, so that the interfacesystem is less likely to make the same error again. Thus, while such asystem is inherently complex, it poses significant user advantages.Further, while the interface system itself is sophisticated, it providessimplicity, with inductive reasoning and deductive reasoning for theuser.

Thus, a minimum of user interaction is required even for complex tasks,and nearly full automation is possible, as long as the user andapparatus are able to communicate to convey a preference. As a furtherembodiment according to the present invention, the interface system willstored transmitted data, and subsequently review that data, extractingpertinent information. The stored data may then be deleted from thestorage medium. In this regard, the system may be self learning,

It is noted that various algorithms and formulae for patternrecognition, correlation, data compression, transforms, etc., are knownto those skilled in the art, and are available in compendiums, such asNetravali, Arun N., and Haskell, Barry G., “Digital PicturesRepresentation and Compression”, Plenum Press, New York (1988); Baxes,Gregory A., “Digital Signal Processing, A Practical Primer”,Prentice-Hall, Englewood Cliffs, N.J. (1984); Gonzalez, Rafael C.,“Digital Image Processing”, Addison-Wesley, Reading, Mass. (1987), and,of a more general nature, Press, William H. et al, “Numerical Recipes inC The Art of Scientific Computing”, Cambridge University Press, 1988,which are incorporated herein by reference.

EXAMPLE 12 Intelligent Adaptive VCR Interface

A further example of the use of the advanced intelligent features of thepresent invention is the use of the system to record, e.g., “live”musical performances. These occur on many “talk” shows, such as “TonightShow” (NBC, 11:30 p.m. to 12:30 p.m., weeknights), “Saturday Night Live”(NBC 11:30 p.m. to 1:00 a.m. Saturday-Sunday), and other shows or“specials” such as the “Grammy Awards”. The interface, if requested bythe user to record such performances, then seeks to determine theiroccurrence by, e.g.: analyzing a broadcast schedule; interacting withthe on-line database 2411; and by reference to the local database 2413.When the interface determines with high probability that a broadcastwill occur, it then monitors the channel(s) at the indicated time(s),through the plurality of tuners 2502. The system may also autonomouslyscan broadcasts for unexpected occurrences.

In the case of pay-per-view systems and the like, which incorporateencrypted signals, an encryption/decryption unit 2509 is provided fordecrypting the transmitted signal for analysis and viewing. This unitalso preferably allows encryption of material in other modes ofoperation, although known decryption systems without this feature mayalso be employed with the present system. During the monitoring, theinterface system acquires the audio and video information beingbroadcast, through the signal receiver 2408, and correlates thisinformation with a known profile of a “live musical performance”, in thepreference and event correlator 2412. This must be distinguished frommusic as a part of, e.g., a soundtrack, as well as “musicals” which arepart of movies and recorded operas, if these are not desired by theuser. Further, music videos may also be undesirable. When thecorrelation is high between the broadcast and a reference profile of a“live musical performance”, the system selects the broadcast forretention. In this case, the information in the intermediate storage2503 is transferred to the plant 2507, which includes a permanentstorage device 2508. The intermediate storage 2503 medium is used torecord a “buffer” segment, so that none of the broadcast is lost whilethe system determines the nature of the broadcast. This, of course,allows an extended period for the determination of the type ofbroadcast, so that, while real-time recognition is preferred, it is notabsolutely necessary in order to gain the advantages of the presentinvention. The buffer storage data, if not deleted, also allows a userto select a portion for retention that the interface system hasrejected.

Thus, while it is preferable to make a determination in real time, or atleast maintain real time throughput with a processing latency, it ispossible to make an ex post facto determination of the nature of thebroadcast program. By using an available delay, e.g., about 5 to about300 seconds, or longer, the reliability of the determination can begreatly increased as compared to an analysis of a few frames of videodata, e.g., about 15 to about 300 mS. An intermediate reliability willbe obtained with a delay of between about 300 to about 5000 mS. Asstated above, the storage system for this determination need not beuncompressed nor lossless, so long as features necessary to determinethe character of the broadcast are present. However, it is preferredthat for broadcast recording intended for later viewing, the storage beas accurate as possible, so that if a compression algorithm isimplemented, it be as lossless as reasonable given the variousconstraints. The MPEG-2 standard would be applicable for this purpose,though other video compression systems are available.

In a preferred situation, approximately 5 minutes of broadcast materialis analyzed in order to make a determination of the content. Thisbroadcast material is stored in two media. First, it is stored in aformat acceptable for viewing, such as video tape in a videotaperecorder, or in digital video format, e.g., uncompressed, MPEG-2.Second, it is received in parallel by the computer control, where thedata is subject to a number of recognition and characterizationprocesses. These are performed in parallel and in series, to produce astored extracted feature matrix. This matrix may contain any type ofinformation related to the broadcast material, including an uncompressedsignal, a compressed signal, a highly processed signal relating toinformation contained in particular frames and abstract features,spatially and temporally dissociated from the broadcast signal, yetincluding features included in the broadcast which relate to the contentof the broadcast.

A preferred method incorporates one or more digital signal processorbased coprocessor elements, which may be present on, e.g., Nubus cardsin the Macintosh Quadra 950, Apple Power PC, PCI card in Pentium-basedMS-DOS/Windows 3.1, 3.11, '95, NT computers, other Power PC basedcomputers. These elements may be based on C-Cube CL550 (JPEGcompression), Analog Devices ADSP-21020, Analog Devices ADSP-21060, AT&TDSP32C, AT&T DSP3210, AMD 29000 series, Motorola DSP 96000ADS, TexasInstruments TMS 320C40, TMS 320C80, IBM Mwave, or a combination oftypes. Other devices are also available from Analog Devices, AT&T, DSPGroup, Motorola, NEC, SGS-Thomson, Sharp, Texas Instruments, Zilog,Zoran, and other vendors. See, EDN, May 11, 1995, pp. 40-106; Bursky,D., “Improved DSP ICs Eye New Horizons”, Electronic Design, Nov. 11,1993, pp. 69-82. DSP systems, which generally have an architectureoptimized for the efficient and rapid execution of repetitive numericcalculations, are desirable for certain pattern recognition tasks, andmay be provided as a tightly coupled parallel processing array toincrease throughput.

A known board containing a DSP is the MacDSP3210 by Spectral InnovationsInc., containing an AT&T digital signal processor and an MC68020 CISCprocessor, and which uses the Apple Real-time Operating System Executive(A/ROSE) and Visible Cache Operating System (VCOS). It is preferred thatthe processors employed be optimized for image processing, because oftheir higher throughput in the present image processing applications, toprocess the video signals, and more other signal processors to analyzethe audio signals. Of course, general purpose processors may be used toperform all calculations. An array processor which may be interfacedwith a Macintosh is the Superserver-C available from Pacific ParallelResearch Inc., incorporating parallel Inmos Transputers. Such an arrayprocessor may be suitable for parallel analysis of the image segment andclassification of its attributes.

Pattern recognition processing, especially after preprocessing of thedata signal by digital signal processors and image compression engines,may also be assisted by logical inference engines, such as FUTURE (FuzzyInformation Processing Turbo Engine) by The Laboratory for InternationalFuzzy Engineering (LIFE), which incorporates multiple Fuzzy SetProcessors (FSP), which are single-instruction, multiple data path(SIMD) processors.. Using a fuzzy logic paradigm, the processing systemmay provide a best fit output to a set of inputs more efficiently thanstandard computational techniques, and since the presently desiredresult requires a “best guess”, rather than a very accuratedetermination, the present interface is an appropriate application ofthis technology.

As noted above, these processors may also serve other functions such asvoice recognition for the interface, or extracting text from videotransmissions and interpreting it. It is also noted that, while some ofthese coprocessing engines are now costly, these costs are decreasingand the present invention therefore includes the use of sophisticatedpresent designs as well as future devices which may be used to performthe stated functions. The continued development of optical computers mayalso dramatically reduce the cost of implementing this aspect of thepresent invention; however, the present state of the art allows thebasic functions to be performed. See attached appendix of references,incorporated herein by reference, detailing various optical computingdesigns.

Systems which run under SPDX DSP operating system, IBM's Mwave operatingsystem and AT&T's VCOS operating system may be employed. These operatingsystems, and possibly others, are to be supported by Microsoft Inc.'sWindows 95 operating system Resource Manager function.

It is noted that various methods are available for determining arelatedness of two sets of data, such as an image or a representation ofan image. These include the determination of Hausdorff distance, fuzzycorrelation, arithmetic correlation, mean square error, neural network“energy” minimization, covariance, cross correlation, and other knownmethods, which may be applied to the raw data or after a transformationprocess, such as an Affine transformation, a Fourier transformation, aGabor transformation, a warping transformation, a color maptransformation, and the like. Further, it is emphasized that, in imageor pattern recognition systems, there is no need that the entire imagebe correlated or even analyzed, nor that any correlation be based on theentirety of that image analyzed. Further, it is advantageous to allowredundancy, so that it is not necessary to have unique designations forthe various aspects of the data to be recognized, nor the patterns to beidentified as matching the uncharacterized input data.

The MSHELL from Applied Coherent Technology is a software system thatruns on a Mercury MC3200 array processor, in conjunction with a DataTranslation DT2861 or DT2862. The NDS1000 Development System fromNestor, Inc., provides image recognition software which runs on a PCcompatible computer and a Data Translation DT2878. The above mentionedprocessing hardware and software, as known, is incorporated herein.

The C-Cube CL550 is fully disclosed in “C-Cube CL550 JPEG ImageCompression Processor”, Preliminary Data Book, August 1991, and addendumdated Nov. 20, 1991, incorporated herein by reference, and productsincorporating the CL550 include the JPEG Video Development Kit (ISA buscard with Chips and Technologies PC video 82C9001A Video WindowController), and the C-Cube CL550 Development Board/PC for ISA Bus(CL550, for use with Truevision TARGA-16 or ATVista cards) or for NuBus(Macintosh). The so called C-Cube “CL950” is a MPEG decoder device. Sucha device as the CL950 may be particularly useful for use in the presentVCR for reproducing compressed program material, which may be compressedby the present apparatus, or may be used for decompressingpre-compressed program material. Other MPEG-1 and MPEG-2 encoding anddecoding devices are known.

It is noted that all functions of a VCR would also be facilitated by theuse of such powerful processors, and thus it is not only these advancedfunctions which are enabled by these advanced processors andcoprocessors. It is also noted that these image recognition functionsneed not necessarily all be executed local to the user, and may in factbe centralized with resultant processed data transmitted to the remoteuser. This would be advantageous for two reasons: first, the user neednot have an entire system of hardware localized in the VCR, and second,many of the operations which must be performed are common to a number ofusers, so that there is a net efficiency to be gained.

EXAMPLE 13 Intelligent Adaptive VCR Interface

The interface of the present invention incorporates an intelligent userinterface level determination. This function analyzes the quality of theuser input, rather than its content. Thus, this differs from the normalinterface user level determination which requires an explicit entry ofthe desired user level, which is maintained throughout the interfaceuntil explicitly changed. The present interface may incorporate the“smart screen” feature discussed above, which may, through its analysisof the past user interaction with the interface predict the most likelypredicted user input function. Thus, the predictive aspects of thepresent invention may be considered a related concept to the intelligentuser level interface of the present invention. However, the followingbetter serves to define this aspect of the invention.

The input device, in addition to defining a desired command, alsoprovides certain information about the user which has heretofore beengenerally ignored or intentionally removed. With respect to atwo-dimensional input device, such as a mouse, trackball, joystick,etc., this information includes a velocity component, an efficiency ofinput, an accuracy of input, an interruption of input, and a highfrequency component of input. This system is shown schematically in FIG.21, which has a speed detector 2104, a path optimization detector 2105,a selection quality detector 2106, a current programming status 2108, anerror counter 2109, a cancel counter 2110, a high frequency signalcomponent detector 2112, an accuracy detector 2113 and a physio-dynamicoptimization detector 2114. In addition, FIG. 21 also shows that theinterface also uses a past user history 2107, an explicit user levelchoice 2111 and an explicit help request 2115.

This list is not exclusive, and is somewhat dependent on thecharacteristics of the specific input device. For a mouse, trackball, orother like device, the velocity or speed component refers to the speedof movement of the sensing element, i.e. the rotating ball. This mayalso be direction sensitive, i.e., velocity vector. It is inferred that,all other things being equal, the higher the velocity, the more likelythat the user “knows” what he is doing.

The efficiency of input refers to two aspects of the user interface.First, it refers to the selection of that choice which most simply leadsto the selection of the desired selection. For example, if “noon” is anavailable choice along with direct entry of numbers, then the selectionof “noon” instead of “12:00 p.m.” would be more efficient. The secondaspect of efficiency has to do with the path taken by the user in movinga graphic user interface cursor or input device from a current positionto a desired position. For example, a random curve or swiggle betweenlocations is less efficient than a straight line. This effect islimited, and must be analyzed in conjunction with the amount of time ittakes to move from one location of a cursor on the screen to another; ifthe speed of movement is very rapid, i.e. less than about 400 mS for afull screen length movement, or less than about 300 nS for smallmovements, then an inefficiency in path is likely due to the momentum ofthe mouse and hand, momentum of the rolling ball, or a physiological arcof a joint. This aspect is detected by the physio-dynamic optimizationdetector 2114. Thus, only if the movement is slow, deliberate, andinefficient, should this factor weigh heavily. It is noted that arcs ofmovement, as well as uncritical damping of movement around the terminalposition may be more efficient, and a straight path actuallyinefficient, so that the interface may therefore calculate efficiencybased on a complex determination, and act accordingly where indicated.

Thus, an “efficient” movement would indicate an user who may work at ahigh level, and conversely, an inefficient movement would indicate auser who should be presented with simpler choices. The efficiency ofmovement is distinguished from gestures and path dependent inputs, suchas drawing and painting. These may be distinguished based on machinestatus or context. Further, the interface may recognize gestures in maycontexts. Therefore, gesticulations must be distinguished from commandinputs before further processing. Gesticulations, like path efficiency,may also be analyzed separately from the basic command input, andtherefore may be provided as a separate input stream on an interfacelevel rather than an application level, thus allowing cross applicationoperation.

Likewise, if a movement is abrupt or interrupted, yet follows anefficient path, this would indicate a probable need for a lower userinterface level. This would be detected in a number of elements shown inFIG. 21, the speed detector 2104, a high frequency signal componentdetector 2112, an accuracy detector 2113 and a physio-dynamicoptimization detector 2114. In addition, FIG. 21 also shows the use of apast user history 2107, an explicit user level choice 2111 and anexplicit help request 2115.

While the interface may incorporate screen buttons which are smart, i.e.those which intelligently resolve ambiguous end locations, the accuracyof the endpoint is another factor in determining the probable level ofthe user. Thus, for example, if a 14″ color monitor screen is used,having a resolution of 640 by 480 pixels, an accurate endpoint locationwould be within a central area of a screen button of size about 0.3″ byabout 1.0″, would be an area of about 0.25″ by about 0.75″. A cursorlocation outside this location, but inside the screen button confineswould indicate an average user, while a cursor location outside thescreen button may be inferred to indicate the button, with an indicationthat the user is less experienced in using the pointing device.

Finally, in addition to the efficiency of the path of the cursorpointing device, a high frequency component may be extracted from thepointer signal by the high frequency signal component detector 2112,which would indicate a physical infirmity of the user (tremor), adistraction in using the interface, indecision in use, or environmentaldisturbance such as vibration. In this case, the presence of a largeamount of high frequency signal indicates that, at least, the cursormovement is likely to be inaccurate, and possibly that the user desiresa lower user level. While this is ambiguous based on the high frequencysignal content alone, in conjunction with the other indicia, it may beinterpreted. If, for example, the jitter is due to environmentalvibrations, and the user is actually a high level user, then theresponse of the user level adjust system would be to provide a screendisplay with a lowered required accuracy of cursor placement, withoutnecessarily qualitatively reducing the implied user level of thepresented choices, thus, it would have an impact on the displaysimplification 2103, with only the necessary changes in the current userlevel 2101.

Alternatively, the user may input a gesture, i.e., a stylized inputhaving no other command input meaning, which may be detected byanalyzing the input. The input may be a manual input, voice, image orthe like. A number of different gestures may be recognized. Thesegestures are generally explicit inputs, which allow a voluntary actionto be interpreted as input information to the interface.

EXAMPLE 14 Intelligent Telephone Device Interface

Likewise, the present interface could be used to control complextelecommunications functions of advanced telephone andtelecommunications equipment. In such a case, the user display interfacewould be a video display, or a flat panel display, such as an LCDdisplay. The interface would hierarchically present the availablechoices to the user, based on a probability of selection by the user.The input device would be, for example, a small track ball near thekeypad. Thus, simple telephone dialing would not be substantiallyimpeded, while complex functions, such as call diversion, automatedteledictation control, complex conferencing, calleridentification-database interaction, and videotel systems, could easilybe performed.

EXAMPLE 16 Character Recognition of Video

The present invention may incorporate character recognition from thevideo broadcast for automatic entry of this information. This is shownschematically in FIG. 24, with the inclusion of the videotext andcharacter recognition module 2414. This information is shown to betransmitted to the event characterization unit 2407, where the detectedinformation is correlated with the other available information. Thisinformation may also be returned to the control 2402. Examples of thetypes of information which would be recognized are titles of shows, castand crew from programming material, broadcast special alerts, time (fromdigital display on special access channels), stock prices from “tickertape” on special access channels, etc. Thus, this technology addsfunctionality to the interface. In addition, subtitled presentationscould be recognized and presented through a voice synthesizer, to avoidthe necessity of reading the subtitle. Further, foreign languagesubtitles could be translated into, e.g., English, and presented. In aparticular embodiment, certain game shows, such as “Wheel of Fortune”have alphanumeric data presented as a part of the programming. Thisalphanumeric text may be extracted from the image.

In a preferred embodiment, the character recognition is performed inknown manner on a buffer memory containing a frame of video, from adevice such as a Data Translation DT2851, DT2853, DT2855, DT2867,DT2861, DT2862 and DT2871. A contrast algorithm, run on, for example, aData Translation DT2858, DT2868, or DT2878, first removes thebackground, leaving the characters. This works especially well where thecharacters are of a single color, e.g. white, so that all other colorsare masked. After the “layer” containing the information to berecognized is masked, an algorithm similar to that used for opticalcharacter recognition (OCR) is employed. These methods are well known inthe art. This may be specially tuned to the resolution of the videodevice, e.g. NTSC, S-VHS, IDTV, Enhanced Definition Television (ETDT),MUSE, PAL, SECAM, MPEG-2 digital video, etc. In addition, since the textnormally lasts for a period in excess of one frame, a spatial-temporalimage enhancement algorithm may be employed to improve the quality ofthe information to be recognized, if it is indistinct in a single frame.

EXAMPLE 17 Smart House Interface

The present invention may also be incorporated into other types ofprogrammable controls, for example those necessary or otherwise used inthe control of a smart house. See, “The Smart House: Human Factors inHome Automation”, Human Factors in Practice, December 1990, 1-36. Theuser interface in such a system is very important, because it mustpresent the relevant data to the user for programming the control toperform the desired function. A smart house would likely have manyrarely used functions, so that both the data and the available programoptions must be presented in the simplest manner consistent with thegoal of allowing the user to make the desired program choice. Forexample, a smart house system with appropriate sensors might be used toexecute the program: “start dishwasher, if more than half full, at 9:00p.m.” This program might also include a program to load soap into thedishwasher or to check if soap is already loaded. A user who wishes todelay starting until 11:00 p.m. would be initially presented with thedefaults, including start time as an option, which would be simplymodified by correcting the starting time. The next time the same userwishes to program the device, an algorithm might change the predictedstarting time to, e.g. 10:00 p.m., which is a compromise between thehistorical choices. Alternatively, the new predicted start time might be11:00 p.m., the last actually programmed sequence. Finally, the nextpredicted start time might remain at 9:00 p.m. The resolution of thesechoices would depend on a number of factors: a preprogrammed expertsystem; any other prior history of the user, even with respect to otherappliances or in other situations; the context, meaning any othercontemporaneously programmed sequences; and an explicit input from theuser as to how the inputs should be evaluated for predictive purposes.

The expert system would balance factors, including disturbing noise fromthe dishwasher, which might be objectionable while persons are near thedishwasher, people are sleeping, or during formal entertainment. On theother hand, if the dishwasher is full, or its cleaned contents areneeded, the dishwasher should run. Some persons prefer to reshelvedishes in the evening, before sleep, so in those cases, the dishwashershould complete its cycle before bedtime. The dishwasher, on a hot watercycle, should not run during showers or baths, and preferably should notcompete with a clothes washer for hot water. The dishwasher preferablydoes not run during peak electrical demand times, especially ifelectrical rates are higher. Water conserving cycles should be selected,especially during droughts or water emergencies. If dishes remain in thedishwasher for an extended period, e.g., overnight, a moistening cyclemay be employed to help loosen dirt and to help prevent drying. Thus,the expert system is preprogrammed for a number of high levelconsiderations that might be common to a large number of users of thesystem, thus shortening the required training time of the system tolearn the preferences of the user. Such a sophisticated system mayeliminate the need entirely for adaptive responses, based on weighing ofconsiderations provided by the user. Of course, other considerations mayalso be included for the operation or delay of operation of thedishwasher. Further, these considerations are exemplary of the types ofconsiderations which might be employed in an expert system in a smarthouse.

The prior history of the user provides an excellent source ofinformation regarding the preferences of the user, although this issometimes not the most efficient means, and may often includecontradictory data. This historical use data is therefore analyzed in abroad context in order to extract trends, which over a number of usesmay be further extracted as “rules”. Often, the user history data willbe applied at a high level, and will interact with preexisting rules ofthe expert system, rather than to create new rules. In this case, theexpert system preferably includes a large number of “extra rules”, i.e.,those with an a priori low probability or low weighing, providing atemplate for future pattern matching. The past history may be evaluatedin a number of ways. First, an expert system may be used to analyze thepast usage pattern. Second, a neural network may be trained using thehistorical data along with any corrective feedback. Third, thehistorical data may be used to alter fuzzy logic rules orclassifications, either by expert system, neural network, or by otherknown means.

The context of use may also be used to determine a desired or predictedaction. Therefore, if on a single occasion, a number of changes aremade, for example during a large house party, the standard predictionswould not be altered, and thus a normal program would remain in effect.Of course, a new “house party” sequence would then be recognized andincluded as a new type of sequence for future evaluation.. For example,a house party sequence might encompass a number of house systems. Thus,the delay of dishwasher until 11:00 p.m. allows all dishes from theparty to be placed in the dishwasher before starting. An alarm systemwould be generally deactivated, although various zones may be providedwith different protection; e.g., a master suite may be off-limits, withan alarm transmitting a signal to a user's beeper, rather than a call topolice or alarm service company. During the summer, the air conditionermight run even if doors and windows are open, even if the normal programprompts for door closings before the air conditioner is turned on.Likewise, exterior lighting would be turned on at dusk, with bug lightsturned on during the entire party. The user might individually make suchdecisions, which would be recognized as a group due to their proximityin time, or delineate the actions as a group. Thereafter, where some ofthese choices are made, and the profile of choices matches a “party”style, the remainder of the choices may be presented as a most likely orpredicted choice. The group of choices together might also be selectedfrom a menu of choices.

Context also relates to sensor data, which might include sensors inparticular appliances or unrelated sensors. For example, infrared motiondetectors may be used to estimate the number of persons present in ahouse. Likewise, heavy use of a bathroom, as detected by flushes,frequent light transitions or door openings, might also be useful asdata to estimate a crowd size. Temperature sensors, video imagingsensors, perimeter sensors, electrical sensors relating to the status ofappliances and machinery, and other types of sensors may provide datafor context determination.

Of course, explicit inputs must also be accommodated, which may beatomic instructions or complex combinations of instructions which maycontrol a single house system or a number of house systemssimultaneously. The explicit input preferably comes by way of theadaptive interface described throughout the present application, or aninterface incorporating particular aspects thereof.

The smart house system also controls the climate control system. Thus,it could coordinate temperatures, air flow and other factors, based onlearned complex behaviors, such as individual movement within thedwelling. Since the goal of the programming of the smart house is notbased on the storage of discrete information, but rather the executionof control sequences at various times and under certain circumstances,the control would differ in various ways from that of a VCR. However,the user interface system, adaptive user level, help system, and thelike would be common to both types of system. This differs from theFuzzy Logic controlled air conditioner available (in Japan) fromMitsubishi in that these prior art devices do not have an intelligentinterface of the present invention. It should also be noted that thecontrol for the VCR could be the same control as that for the smarthouse, so that the common elements are not redundant. Therefore, byapplying a single control to many tasks, a common user interface isused, and the cost is reduced.

EXAMPLE 18 Programmable Environmental Controller

The present Example relates to a programmable environmental controllerapplication. In this case, a sensor or sensor array is arranged todetect a change in the environment which is related to a climaticcondition, such as an open door. On the occurrence of the door opening,the system would apply a pattern recognition analysis to recognize thisparticular sensor pattern, i.e. a mass of air at a different temperatureentering the environment from a single location, or a loss of climatecontrolled air to a single location. These sensor patterns must bedistinguished from other events, such as the action of appliances,movement of individuals in the vicinity of the sensor, a shower andother such events. It is noted that in this instance, a neural networkbased adaptive controller may be more efficient than a standard fuzzylogic system, because the installation and design of such a system iscustom, and therefore it would be difficult to program fuzzy setassociations a priori. In this case, a learning system, such as a neuralnetwork, may be more efficient in operation and produce a better resultthan other adaptive methods. The training procedure may be fullyautomated, (with manual feedback provided where necessary to adjust thecontrol parameters) so long as sufficient sensors are provided forcontrolling the system, and also that an initial presumption of thecontrol strategy is workable during the training period. In the case ofan HVAC system, the initial strategy incorporated is the prior art“bang-bang” controller, which operates as a simple thermostat, ormultizone thermostat. As a better starting point, a fuzzy logictemperature controller may be modeled and employed. Other knownstrategies which are not often used in environmental control include theproportional-integral-differential controller (PID).

It is noted that the HVAC system may also be of a type which isinoperable with standard type controllers; for example, the system maybe such as to produce temperature oscillations, or significanttemperature or pressure gradients. In this case, the default controlsystem must be provided to compensate the system, allowing more subtlecorrections and adjustments to be made based on preferences. Thus, anexpert system is provided, which is updated based on user input, andwhich receives context information, including sensor data and otherinputs. Explicit user preferences and programming are also input,preferably with an interface in accordance with the present invention orincorporating aspects thereof.

In this example, which may be described with reference to FIG. 23,sufficient sensors in a sensor array 2301 are provided, being light,temperature, humidity, pressure, air flow and possibly a sensor fordetermining an event proximate to the sensor, such as door opening.While a single sensor array 2301 provides input to the present control,a plurality of sensor arrays are preferably employed in complexinstallations, such as that described here. The sensors, with thepossible exceptions of the flow sensor and event sensor, are housed in asingle sensor head. Further, the temperature and pressure sensors may becombined in a single integrated circuit by known means. The light andtemperature sensors are known to those skilled in the art, and need notbe described herein. The pressure sensor may be a Sensym strain gagepressure transducer, a Motorola pressure transducer device, or the like,which are known in the art. Alternatively, other types of sensors may beused, for example a micromachined silicon force balance pressuretransducer, similar in electrical design to the Analog Devicesmonolithic accelerometers, ADXL-50 or ADXL-05.

The humidity sensor is preferably an electronic type, producing anelectrical signal output. It need not be internally compensated for theother measured environmental factors, as the constellation of sensorsmay compensate each other. The air flow sensor may be based on pressuredifferentials, using the electronic pressure sensor described above, ormay be a mechanical vane type, which is based on flows. In mostapplications, a single flow axis will be sufficient, however, in somecircumstances, a two or greater axis sensor will be required. Further,in the case of large volume areas, complex turbulent flow patterns maybe relevant, for which known sensors exist. Laser based air flow sensorsmay be employed, if desired. LIDAR sensors may be used to determine flowrate, direction, and turbulence.

The event sensor may be of any type, and depends particularly on theevent being measured. In the present case, where a door opening is to bedetected, it is preferred that the environmental control be interfacedwith a perimeter intrusion alarm system, which, for example, provides amagnet embedded in the door and a magnetic reed switch in the doorframe. Individual sensors are normally wired to the alarm control panel,thus providing central access to many or all of the desired eventdetection sensors while minimizing the added cost. The event detectormay also be an ultrasonic, infrared, microwave-Doppler, mechanical, orother type of sensor. Wireless sensors may also be used, communicatingvia infrared beams, acoustic, radio frequency, e.g., 46-49 MHz, 900 MHz,or other bands, using analog, digital or multilevel quantized digitalamplitude modulation (AM), frequency modulation (FM), phase shift keying(PSK), quadrature amplitude modulation (QAM) or other modulation scheme,or a combination thereof. Spread spectrum devices may be employed, aswell as time, code or frequency multiplexing or a combination thereof.Various failsafe mechanisms are preferably included, including thoseidentifying transmitter or receiver failure, communication interferenceor message collision, and other conditions. A reverse communicationchannel may also be included, either symmetric in band, or asymmetric inband or out of band, for communication with the sensor or apparatusassociated with the sensor, and as part of the failsafe system. Aforward error correction protocol is preferably effected, which maydetect errors and include error correcting codes for digitaltransmissions. Digital data may be encrypted, and the transmissionmodulation scheme may also include an encrypted sequence of frequency,phase, convolution, noise, or other modulation parameter.

While wireless data transmission as described above may be used, thepreferred method of receiving sensor information is through a serialdigital or analog (i.e., 4-20 mA transmitter) data transmission whichmay be multiplexed and/or part of a local area network scheme, withminimal local processing of the sensor data by the microprocessor 2302with the serial link 2302a in the sensor head. Such serial digitalprotocols include Echelon LON-works, BSR X-10, CEBUS, RS-232, RS-423,Apple ADB, Appletalk, Ethernet (10 base T, 10 Base 2, 10 base 5, 100base VG), asynchronous transfer mode (ATM), etc. This system allows thecentral control 2303 to incorporate the desired processing, e.g., by thepattern recognition system 2304, etc., while minimizing the installationexpense. A simple microprocessor device 2302 in the sensor headinterfaces the sensing elements, and may provide analog-to-digitalconversion, or other conversion which may be necessary, of the sensorsignal. In the case of a serial digital data transmission, the localmicroprocessor formats the sensor data, including a code indicating thesensor serial number and type, the sensor status (i.e., operative,defective, in need of maintenance or calibration, etc.), the sensordata, and an error correcting code. In the case that the data istransmitted on a local area network, the microprocessor also arbitratesfor bus usage and the messaging protocol.

The control, it must be understood, has a number of available operativesystems at its disposal, comprising the plant 2306. In this case, thesystem is a forced air heating and cooling system. This system has aheating unit, a humidifier, blowers, a cooling unit (which alsodehumidifies), ducts, dampers, and possible control over variouselements, such as automated door openers.

As described above, the system is installed with a complete array ofsensors, some of which may be shared with, or a part of, other controlsystems in the environment, and begins operation with a basic acceptableinitial control protocol. The system then receives data from thesensors, and correlates data from the various sensors, including theevent sensors, with the operation of the systems being controlled. Insuch a case, a “door open” event may be correlated with a change inother measured variables. The system then correlates the control statuswith the effect on the interrelation of the measured variables. Thus,the system would detect that if the blower is operating while the dooris open, then there is a high correlation that air will flow out of thedoor, unless a blower operates to recirculate air from a return near thedoor. Thus, the system will learn to operate the proximate return devicewhile the door is open and the blower is on. Once this correlation isdefined, the system may further interrelate the variables, such as awind speed and direction outside the door, effects of other events suchas other open doors, the absolute and relative speeds of the blowers andthe return device, the effect of various damper devices, etc. It isfurther noted that, under some circumstances, an exchange of air throughan open door is desired, and in such instance, the system may operate tofacilitate the flow through such an open door. Finally, the system mustbe able to “learn” that conditions may exist which produce similarsensor patterns which should be handled differently. An example is abroken, defective or inoperative sensor. In such a case, the system mustbe able to distinguish the type of condition, and not execute anaggressive control algorithm in an attempt to compensate for anerroneous reading or otherwise normal event. This requires theintelligent control of the present invention. In order to distinguishvarious events, sensors which provide overlapping or redundantinformation, as well as providing a full contextual overview, should beprovided as a part of the system.

It is further noted that energy efficiency is a critical issue inclimate control systems, and an absolute and continuous control over theinternal environment may be very inefficient. Thus, the starting oflarge electrical motors may cause a large power draw, and simultaneousstarting of such equipment may increase the peak power draw of afacility, causing a possible increase in the utility rates. Further,some facilities may operate on emergency or private power generation(co-generation) which may have different characteristics and efficiencycriteria. These factors may all be considered in the intelligentcontrol. It is also noted that a higher efficiency may also be achieved,in certain circumstances, by employing auxiliary elements of the climatecontrol system which have a lower capacity and lower operating coststhan the main elements. Thus, for example, if one side of a building isheated by the sun, it may be more efficient to employ an auxiliarydevice which suitably affects, i.e. compensates, only a part of thebuilding. If such equipment is installed, the aggregate efficiency ofthe system may be improved, even if the individual efficiency of anelement is lower. Likewise, it may be preferable to run a 2½ ton airconditioning unit continuously, rather than a 5 ton air conditioningunit intermittently. The present intelligent control allows a finedegree of control, making use of all available control elements, in anadaptive and intelligent manner.

Returning to the situation of a door opening event, the system wouldtake appropriate action, including: interruption of normal climatecontrol until after the disturbance has subsided and normal conditionsare achieved; based on the actual climatic conditions or predictedclimatic conditions begin a climate compensation control, designed tomaximize efficiency and also maintain climatic conditions during thedisturbance, as well as return to normal after the disturbance;optionally, during the door opening disturbance, the system wouldcontrol a pressure or flow of air to counterbalance a flow through thedoor, by using a fan, blower or other device, or halting such a device,if necessary. It is also noted that the climatic control system couldalso be outfitted with actuators for opening and closing doors andwindows, or an interface with such other system, so that it could takedirect action to correct the disturbance, e.g., by closing the door. Theclimate between the internal and external ambients may differ intemperature, humidity, pollutants, or the like, and appropriate sensorsmay be employed.

It is thus realized that the concepts of using all available resourcesto control an event, as well as using a predictive algorithm in order todetermine a best course of action and a desired correction are a part ofthe present invention.

EXAMPLE 19 Remote Control Hardware

A remote control of the present invention may be constructed from, forexample, a Micromint (Vernon, Conn.) RTC-LCD, RTC-V25 or RTC-HC11 orRTC180 or RTC31/52, and RTC-SIR, in conjunction with an infraredtransmitter and receiver, input keys and a compatible trackball, whichmay provide raw encoder signals, or may employ a serial encoder and havea serial interface to the processor module. A power supply, such as abattery, is used. The use, interfacing and programming of such devicesis known to those skilled in the art, and such information is generallyavailable from the manufacturer of the boards and the individual circuitelements of the boards. The function of such a remote control is toreceive inputs from the trackball and keys and to transmit an infraredsignal to the controller.

The processor and display, if present, may provide added functionalityby providing a local screen, which would be useful for programmingfeedback and remote control status, as well as compressing the datastream from the trackball into a more efficient form. In this case,certain of the extracted information may be relevant to thedetermination of the user level, so that information related to the userlevel would be analyzed and transmitted separately to the controller bythe infrared transmitter. If the local LCD screen is used in theprogramming process, then the main controller would transmit relevantinformation to the remote display, by a reverse-channel infrared link.These components are known in the art, and many other types may also beused in known manner.

In known manner, available personal digital assistants (“PDAs”),available from Apple (“Newton” model 100, 110, 120), Tandy, Poquet,Sharp, Casio, AT&T (Eo 440), Hewlett-Packard, etc. may also be employedas a human interface device.

EXAMPLE 20 Medical Device Interface

The interface and intelligent control of the present invention areapplicable to control applications in medicine or surgery. This systemmay also be described with reference to the generic system drawings ofFIGS. 23 and 24. In this case, an operator identifies himself and entersinformation regarding the patient, through the interface 2305. Theinterface 2305 automatically loads the profile 2406 of both the operatorand the patient, if the device is used for more than one at a time, andis connected to a database containing such information, such as ahospital central records bureau. The interface may be connected tovarious sensors, of the input device 2401, such as ambient conditions(temperature, humidity, etc.), as well as data from the patient, such aselectrocardiogram (EKG or ECG), electromyograph (EMG),electroencephalogram (EEG), Evoked Potentials, respirator, anesthesia,temperature, catheter status, arterial blood gas monitor, transcutaneousblood gas monitor, urinary output, IV solutions, pharmaceutical andchemotherapy administration data, mental status, movement, pacemaker,etc. as well as sensors and data sources separate from the patient suchas lab results, radiology and medical scanner data, radiotherapy dataand renal status, etc. Based on the available information, the interface2405, using the simple input device and the display screen describedabove, presents the most important information to the operator, alongwith a most probable course of action. The user then may either reviewmore parameters, investigate further treatment options, input new data,or accept the presented option(s). The system described has a largememory in the signal analysis module 2409 for recording availablepatient data from the signal receiver 2408, and thus assists in medicalrecord keeping and data analysis, as well as diagnosis. While varioussystems are available for assisting in both controlling medical devicesand for applying artificial intelligence to assist in diagnosis, thepresent system allows for individualization based on both the serviceprovider and the patient. Further, the present invention provides theimproved interface for interaction with the system.

It is further noted that, analogously to the library function discussedabove, medical events may be characterized in the characterization unit2407 and recorded by the plant 2404, so that a recording of the dataneed not be reviewed in its entirety in order to locate a particularsignificant event, and the nature of this event need not be determinedin advance. It is also noted that the compression feature of therecorder of the present invention could be advantageously employed withthe large volume of medical data that is often generated. Medical dataimage data may be compressed as known in the art, by standard imagecompression techniques, and/or image compression techniques optimizedfor radiology, nuclear medicine and ultrasonography data. Other types ofdata may be compressed using lossless algorithms, or by various vectorquantization, linear excited models, or fractal compression methods. Itis finally noted that, because of its ability to store and correlatevarious types of medical data in the characterization unit 2407, thesystem could be used by the operator to create notes and dischargesummaries for patients, using the database stored in the local database2413, as well as the user history and preferences 2406. Thus, inaddition to saving time and effort during the use of the device, itwould also perform an additional function, that of synthesizing thedata, based on medical significance.

In addition to providing the aforementioned intelligence and ease ofuse, the present example also comprises a control 2402, and mayinterface with any of the sensors and devices, performing standardcontrol and alarm functions. However, because the present control 2402is intelligent and has pattern recognition capability, in addition tofull data integration from all available data sources, it may executeadvanced control functions. For example, if the present control 2402 isinterfaced to a controlled infusion pump for, e.g., morphine solution,in e.g., a terminally ill patient, then certain parameters must bemaintained, while others may be flexible. For example, a maximum flowrate is established as a matter of practice as a safety measure; toohigh a flow rate could result in patient death. However, a patient maynot need a continuous infusion of a constant dose of narcotic. Further,as the patient's status changes, the level of infusion may beadvantageously altered. In particular, if the renal status of thepatient were to change, the excretion of the drug may be impaired.Therefore, by providing the controller with a urinary output monitor, itcould immediately suppress the morphine infusion as soon as the renaloutput is recognized as being decreased, and further indicate an alarmcondition. Further, it may be advantageous to provide a diurnalvariation in the infusion rate, to provide a “sleep” period and a periodof heightened consciousness with correspondingly lower levels ofnarcosis. Where various tests, procedures or interviews are scheduled,an appropriate level of narcosis and/or analgesia may also beanticipatorily provided at an appropriate time.

As another example of the use of the present device as a medicalcontroller, the control 2402 could be interfaced with a cardiac cathetermonitor, as a part of the signal receiver 2408. In such a case,normally, alarms are set based on outer ranges of each sensormeasurement, and possibly a simple formula relating two sensormeasurements, to provide a useful clinical index. However, byincorporating the advanced interface and pattern recognition function ofthe present invention, as well as its ability to interface with avariety of unrelated sensors, the present device, including the presentcontrol, may be more easily programmed to execute control and alarmfunctions, may provide a centralized source of patient information,including storage and retrieval, if diverse sources of such informationare linked, and may execute advanced, adaptive control functions. Thepresent control 2402 is equipped to recognize trends in the sensor datafrom the signal receiver 2408, which would allow earlier recognition andcorrection of various abnormal conditions, as well as recognizingimprovements m conditions, which could allow a reduction in thetreatment necessary. Further, by allowing a fine degree of control,parameters may be maintained within optimal limits for a greaterpercentage of the time. In addition, by monitoring various sensors,various false alarms may be avoided or reduced. In particular, falsealarms may occur in prior art devices even when sensors do not indicatea dangerous condition, merely as a safety precaution when a particularparameter is out of a specified range. In such a case, if a cause ofsuch abnormal condition may be identified, such as patient movement orthe normal activities of the patient's caretakers, then such conditionmay be safely ignored, without indicating an alarm. Further, even if asensor parameter does in and of itself indicate a dangerous condition,if a cause, other than a health risk, may be identified, then the alarmmay be ignored, or at least signalled with a different level ofpriority. By providing an intelligent and active filter for false alarmevents, the system may be designed to have a higher level of sensitivityand specificity to real health risks, and further to provide a finerlevel of control based on the sensor readings, with fewer false positivereadings.

EXAMPLE 21 Securities Trading Terminal Interface

The present invention is also of use in automated securities, debt,variable yield and currency trading systems, where many complexfunctions are available, yet often a particular user under particularcircumstances will use a small subset of the functionality available ata given time. Such a situation would benefit from the present interface,which provides adaptive user levels, prioritized screen informationpresentation, and pattern recognition and intelligent control. Asecurities trading system is disclosed in U.S. Pat. No. 5,034,916, for amouse driven Fast Contact Conversational Video System, incorporatedherein by reference. The present system relates primarily to the userterminal, wherein the user must rapidly respond to external events, inorder to be successful. In such a case, the advantages of theapplication of an interface according to the present invention areobvious, and need not be detailed herein. However, the patternrecognition functions of the present invention may be applied tocorrespond to the desired actions of the trader, unlike in priorintelligent trading systems, where the terminal is not individually andadaptively responsive to the particular user. Thus, the system exploitsthe particular strengths of the user, facilitating his actions,including: providing the desired background information and tradinghistories, in the sequence most preferred by the user; following thevarious securities to determine when a user would execute a particulartransaction, and notifying the user that such a condition exists;monitoring the success of the user's strategy, and providing suggestionsfor optimization to achieve greater gains, lower risk, or otherparameters which may be defined by the user. Such a system, rather thanattempting to provide a “level playing field” to all users of liketerminals, allows a user to use his own strategy, providing intelligentassistance. By enhancing the interface, a user becomes more productivewith fewer errors and faster training.

EXAMPLE 22 Fractal Theory Pattern Recognition

Affine transforms are mathematical manipulations of data in twodimensions, wherein the manipulation comprises a rotation, scaling and adisplacement for each of the two coordinates. Schroeder, M., Fractals,Chaos, Power Laws, W.H. Freeman & Co., New York (1991), incorporatedherein by reference. Of course, Affine transforms of higherdimensionality may also be employed. In describing an image using Affinetransforms, the degree of matching between an image and the mathematicaldescription of that image may be related by a number of iterations, andthe fewer the iterations, the less data used to describe the image. Ofparticular importance in the field of graphics is the speed of“convergence”, i.e., that a relatively few iterations are necessary inorder to describe an image with sufficient precision to be visuallyuseful. Therefore, the Affine transform mathematical specifications maybe far more compact than the raw image data, and these specificationscompare favorably to other types of image compression, such discretecosine transformation (DCT) compression schemes, including JPEG,depending on a number of factors.

Because the Affine transform may be used to produce a compact visualdescription of an image, amoung other reasons, the present inventionapplies this transform to a pattern matching system for analyzing imagecontents.

Pattern recognition, in this case, may proceed on an image basis, tomatch similar images, or on an object basis, in which portions of imagesare matched. It is preferred that the pattern matching system be robust,i.e., tolerant of various alterations of an image, artifacts,interference and configurational changes, while specific enough to allowobject differentiation.

In the case of video images, therefore, it is preferred that varioustwo-dimensional projections of three-dimensional objects, in various“poses”, be classified the same. This therefore requires that, inanalyzing a two-dimensional image, the object be extracted from abackground image and separated from other objects. Further, degrees offreedom may be determined, such as through analysis of a sequence offrames to reveal relative motion or change of portions of the objectwith respect to other portions. Finally, the object in the image must becompared to three dimensional models, through various projections.

In the case of two dimensional image analysis, the image should beanalyzed according to a robust starting criteria, so that the similarityof images may be determined by comparison of normalized Affinetransformation coefficients.

Fractal analysis, the study of self-similarity, and a super-set ofAffine transformation, allows a compact representation of an image or anobject in an image, and due to its encompassing of various spatialrelationships of object parts, allows normalized transforms to becompared. In other words, assuming that the object is extracted from abackground scene, and various degrees of freedom are identified, anAffine transformation may be applied, which will yield a similar resultfor an image of the same object in a different “pose”, i.e., withdifferent exercise of its degrees of freedom. While in general, Affinetransformations are described with respect to two-dimensional images,these may also be applied to three dimensional images. Thus, if atriangular polygon is rotated, scaled and displaced in a two dimensionalimage, a tetrahedron is rotated, scaled and displaced in a threedimensional system. Further, analogies may also be drawn to the timedimension (although geometric forms which are rotated, scaled anddisplaced over time are not given trivial names). Because, in acontractive Affine transformation (one in which the scaling factor ofsuccessive iterations is less than 1), continued iterations are lesssignificant, objects described with varying level of detail may becompared. Even images which are not normalized may still be compared,because at every level of the transform, slight changes in rotation,scale and displacement are accounted for.

According to the present invention, nonlinear self-similarity may alsobe used. Further, in objects having more than two dimensions, linearscaling other than rotation, scaling and displacement may be described.

It is noted that many types of optical computers, especially thoseincluding holographic elements, employ transformations similar to Affinetransformations. Therefore, techniques of the present invention may beimplemented using optical computers or hybrid optical-electroniccomputers.

Thus, according to the present invention, the fractal method employingAffine transforms may be used to recognize images. This method proceedsas follows. A plurality of templates are stored in a memory device,which represent the images to be recognized. These templates may bepreprocessed, or processed in parallel with the remainder of theprocedure, in a corresponding manner. Image data, which may be highcontrast line image, greyscale, or having a full color map, thegreyscale being a unidimensional color map, is stored in the dataprocessor, provided for performing the recognition function.

The image is preprocessed to extract various objects from thebackground, and to separate objects. This preprocessing may be performedin standard manner. The method of U.S. Pat. No. 5,136,659, incorporatedherein by reference, may also be used. As a part of this preprocessing,a temporal analysis of the object through a series of image frames, isperformed to provide four dimensional data about the object, i.e., thetwo dimensions from the image, a third image imputed from differingperspective views of the object, and time. Certain objects may beimmediately recognized or classified, without further processing.Further, certain objects, without full classification or identification,may be “ignored” or subjected to a lesser level of final processing.During the classification processing, various objects may be selectedfor different types of processing, for example, people, automobiles,buildings, plants, etc.

After classification, and temporal analysis, an object for furtherprocessing is analyzed for degrees of freedom, i.e., joints of a person,moving parts of an object, etc. These degrees of freedom may then becorrected, e.g., the object itself altered, to change the image into astandard format, or the degree of freedom information processed with theobject to allow mathematical normalization without actual change of theimage.

The information describing the object image is stored. A plurality ofaddressable domains are generated from the stored image data, each ofthe domains representing a portion of the image information. As notedabove, the entire image need not be represented, and therefore variousobjects separately analyzed. Further, only those parts of the image orobject necessary for the recognition, need be analyzed. While it may beunknown which image components are unnecessary, sometimes this may bedetermined.

From the stored image data, a plurality of addressable mapped ranges arecreated, corresponding to different subsets of the stored image data.Creating these addressable mapped ranges, which should be uniquelyaddressable, also entails the step of executing, for each of the mappedranges, a corresponding procedure upon the one of the subsets of thestored image data which corresponds to the mapped ranges. Identifiersare then assigned to corresponding ones of the mapped ranges, each ofthe identifiers specifying, for the corresponding mapped range, aprocedure and a address of the corresponding subset of the stored imagedata.

To ensure comparability, the processing treatment of the template andthe image data are analogous. Of course, template data may be stored inpreprocessed form, so that the image data need only be processedaccording to the same rules. The domains are optionally each subjectedto a transform, which may be a predetermined rotation, an inversion, apredetermined scaling, and a displacement. Because of the nature ofthese linear superposable transforms, the earliest iterations willinclude data about gross morphology, later iterations will include dataabout configuration, and latest iterations will include data abouttexture.

In addition, nonlinear alterations, and frequency, Gabor or wavelettransform preprocessing may be applied. A warping or other kind oftransform may also be applied. These types of transforms are generallynot included in Affine transform analysis, yet judiciously applied, mayproduce more rapid convergence, greater data storage efficiency,computational advantages or pattern matching advantages.

This transform is used to optimize the procedure, and also to conformthe presentation of the image data with the template, or vice versa.Each of the domains need not be transformed the same way, and in fact itis the transform coefficients which are stored to describe thetransformed object, so that differences in coefficients relate todifferences in objects;

For each of the domains or transformed domains, as may be the case, theone of the mapped ranges which most closely corresponds according topredetermined criteria, is selected. The image is then represented as aset of the identifiers of the selected mapped ranges.

Finally, from the stored templates, a template is selected which mostclosely corresponds to the set of identifiers representing the imageinformation. This matching process is optimized for the data type, whichis a string of iterative transform coefficients, of a contractivetransform.

It is preferred that, for each domain, a most closely corresponding oneof the mapped ranges be selected. By performing analogous operations ona template and an unrecognized object in an image, a correspondencebetween the two may be determined. Thus, libraries of template imageportions may be provided, with associated transform information, whichmay increase the computational efficiency of the system.

In selecting the most closely corresponding one of the mapped ranges,for each domain, the mapped range is selected which is the most similar,by a method which is appropriate, and may be, for example, selectingminimum Hausdorff distance from the domain, selecting the highestcross-correlation with the domain, the minimum mean square error withthe domain and selecting the highest fuzzy correlation with the domain,based on rules which may be predetermined. Neural network energyminimization may also yield the best fit, and other techniques may alsobe appropriate.

In particular, the step of selecting the most closely corresponding oneof mapped ranges according to the minimum modified Hausdorff distanceincludes the step of selecting, for each domain, the mapped range withthe minimum modified Hausdorff distance calculated asD[db,mrb]+D[1−db,1−mrb], where D is a distance calculated between a pairof sets of data each representative of an image, db is a domain, mrb isa mapped range, 1−db is the inverse of a domain, and 1−mrb is an inverseof a mapped range.

It is important that the selection criteria be tolerant to variations ofthe type seen in image data, e.g., video, so that like objects havesimilar transforms. Thus, the selection criteria is not particularlydirected to-optimal data compression, although the two criteria maycoincide for some types of data.

In the case where the digital image data consists of a plurality ofpixels, each having one of a plurality of associated color map values,the method includes a matching of the color map, which as stated above,encompasses a simple grey scale, natural color representation, and othercolor types. In such a case, the method is modified to optionallytransform the color map values of the pixels of each domain by afunction including at least one scaling function, for each axis of saidcolor map, each of which may be the same or different, and selected tomaximize the correspondence between the domains and ranges to which theyare to be matched. For each of the domains, the one of the mapped rangeshaving color map pixel values is selected which most closely correspondsto the color map pixel values of the domain according to a predeterminedcriteria, wherein the step of representing the image color mapinformation includes the substep of representing the image color mapinformation as a set of values each including an identifier of theselected mapped range and the scaling functions. The correspondencemethod may be of any sort and, because of the added degree ofcomplexity, may be a different method than that chosen for non-colorimages. The method of optimizing the correspondence may be minimizingthe Hausdorff distance or other “relatedness” measurement between eachdomain and the selected range. The recognition method concludes byselecting a most closely corresponding stored template, based on theidentifier of the color map mapped range and the scaling functions,which is the recognized image.

Color information may have less relevance to pattern recognition than,for example, edge information, and therefore may be subjected to alesser degree of analysis. The color information may also be analyzedseparately, using a different technique.

EXAMPLE 24 Image Analysis

Alternatively to the object extraction, the image as a whole may beanalyzed. In the case of moving images, the aforementioned method isfurther modified to accommodate time varying images. These imagesusually vary by small amounts between frames, and this allows astatistical improvement of the recognition function by compensating fora movement vector, as well as any other transformation of the image.This also allows a minimization of the processing necessary becauseredundant information between successive frames is not subject to thefull degree of processing. Of course, if the image is substantiallychanged, then the statistical processing ceases, and a new recognitionfunction may be begun, “flushing” the system of the old values. Thebasic method is thus modified by storing delayed image data information,i.e., a subsequent frame of a moving image. This represents an image ofa moving object differing in time from the image data in the dataprocessor.

A plurality of addressable further domains are generated from the storeddelayed image data, each of the further domains representing a portionof the delayed image information, and corresponding to a domain. Thus,an analogous transform is conducted so that the further domains each arecorresponding to a domain. A plurality of addressable mapped rangescorresponding to different subsets of the stored delayed image data arecreated from the stored delayed image data. The further domain and thedomain are optionally matched by subjecting a further domain to acorresponding transform selected from the group consisting of arotation, an inversion, a scaling, and a displacement, which correspondsto a transform applied to a corresponding domain, and a noncorrespondingtransform selected from the group consisting of a rotation, aninversion, a scaling, a translation which does not correspond to atransform applied to a corresponding domain. For each of the furtherdomains or transformed further domains, the one of the mapped ranges isselected which most closely corresponds according to predeterminedcriteria. As stated above, these domains may also be subjected tocorresponding and noncorresponding frequency domain processingtransforms, Gabor transforms, and wavelet transforms.

A motion vector is then computed between one of the domain and thefurther domain, or the set of identifiers representing the imageinformation and the set of identifiers representing the delayed imageinformation, and the motion vector is stored. The further domain iscompensated with the motion vector and a difference between thecompensated further domain and the domain is computed. For each of thedelayed domains, the one of the mapped ranges is selected which mostclosely corresponds according to predetermined criteria. The differencebetween the compensated further domain and the domain is represented asa set of difference identifiers of the selected mapping ranges and anassociated motion vector.

This method is described with respect to FIGS. 27, 28 and 29. FIG. 27 isa basic flow diagram of the recognition system of the present invention.FIG. 28 provides a more detailed description, including substeps, whichare included in the major steps shown in FIG. 27. Basically, the image,or a part thereof, is decomposed into a compressed coded version of thescene, by a modified fractal-based compression method. In particular,this differs from the prior compression algorithms in that only a part,preferably that part containing objects of interest, need be fullyprocessed. Thus, if a background is known (identified) or uninteresting,it may be ignored. Further, the emphasis is on matching the availabletemplates to produce an image recognition, not achieving a high degreeof compression. Therefore, the image, or domains thereof, may betransformed as required in order to facilitate the matching of thetemplates. As with respect to single images, the templates arerepresented in analogous form, having been processed similarly, so thata comparison of the relatedness of an object in an image and thetemplates may be performed. In particular, if an oblique view of anobject is presented, then either the object may be transformed toachieve a predicted front view, or the template transformed or speciallyselected to correspond to the oblique view. Further, once a recognitionhas taken place with a high degree of certainty, the system need onlyensure that the scene has not changed, and need not continually fullyprocess the data. This has implications where multiple recognitionprocesses are occurring simultaneously, either in a single scene or indifferent images, wherein the throughput of the recognition apparatusneed not meet that required for de novo real time recognition of allaspects of all the objects or images.

In order to limit processing of portions of images, exclusionarycriteria may be applied which allow truncation of processing when it isdetermined that an option is precluded or there exists a significantlyhigher probability alternative. The processing system may use primarilyexclusionary criteria to select the best predictions, or afterpreselection, employ a highest probability selection system on theremaining choices.

FIG. 30 shows a flow diagram of a cartoon-like representation of animage recognition method of the present invention. It shows initially,an input image 3001, having a degree of complexity. A windowing function3002 isolates the object from the background. A first orderapproximation of the image is generated 3003, here called a mappingregion. The first order approximation is then subtracted from theinitial image to produce a difference 3004. The first order error isthen subjected, iteratively, to successive transform and subtractoperations 3005 and 3006, until the error is acceptably small, at whichpoint the input image is characterized by a series of codes,representing the first order approximation and the successivetransforms, which are stored 3008. These codes are then compared withstored templates 3009. The comparisons are then analyzed to determinewhich template produces the highest correlation 3010, and the matchprobability is maximized 3011. The recognized image is then indicated asan output 3012.

This system is shown in FIG. 26, wherein a sensor 2602 provides data,which may be image data, to a control 2601. The control 2601 serves tocontrol the plant 2603, which has an actuator. The plant 2603 may be aVCR or the like. The control 2601 has associated with it an intermediatesensor data storage unit 2611, which may be, for example a frame bufferor the like. The control 2601 also has associated with it a transformengine 2612, which may perform a reversible or irreversible transform onthe data or stored data.

The system also has a template input 2610, which may receive data fromthe sensor 2602, if accompanied by identifying information. Thus, thepattern storage memory 2609 stores a pattern, such as an image pattern,along with an identifier.

The control 2601 also has an input device 2604, an on-screen displayinterface 2605, and a program memory 2606, for inputting instructionsfrom a user, providing feedback to the user, and recording the result ofthe user interaction, respectively. Finally, a characterization network2607 characterizes the sensor 2602 data, which may be provided directlyfrom the sensor 2602 or preprocessing circuitry, or through the control2601. A correlator 2608 correlates the output of the characterizationnetwork with the stored patterns, representing the templates from thetemplate input 2610. The system therefore operates to recognize sensorpatterns, based on the correlator 2608 output to the control 2601.

When analyzing objects in a sequence of images, a determination is madeof the complexity of the difference based on a density ofrepresentation. In other words, the error between the movement andtransform compensated delayed image and the image is quantified, todetermine if the compensation is valid, or whether the scene issignificantly changed. When the difference has a complexity below apredetermined or adaptive threshold, a template is selected, from thestored templates, which most closely corresponds or correlates with boththe set of identifiers of the image data and the set of identifiers ofthe delayed image data, thus improving recognition accuracy, by allowinga statistical correlation or other technique. The threshold may be setbased on an error analysis of the system to determine statisticalsignificance or using other criteria. The threshold may also beadaptively determined based on the history of use of the machine andfeedback. For example, if the two images both have a high correlationwith one template, while a first of the images has a slightly highercorrelation with another template, while the second image has a muchlower correlation with that other template, then the system would scorethe first template as a better match to the first image, based on thisdifferentiation. Thus, templates may be particularly selected to bestdifferentiate similar images of objects.

EXAMPLE 25 Pattern Recognition System

The present system allows for the use of a pattern recognition subsystemfor a controller which acts in accordance with a detected pattern. Inimage, audio and multimedia applications, different types of imageprocessing may take place. First, various processing algorithms may takeplace in parallel, with an optimum result selected from the results ofthe various algorithms. Further, various processing schemes may beapplied in sequence, with differing sequences applied to different datastreams. These processing schemes may be commutative, i.e. yieldapproximately the same result regardless of the processing order, or maybe highly order dependent, in which case a processed data stream mustinclude information relating to the sequence of processing forinterpretation.

Various exemplars may reside in a fragment library, for comparison withunidentified data. In the case of processing path dependent systems, anexemplar may be found in multiple forms based on the processingprocedure, or in a small subset of corresponding libraries. In general,both lossless compression methods and lossy compression methods employedusing high fidelity parameters to minimize loss may be processed toproduce a relatively or almost unique result for each unknown data set,while lossy compression or processing methods will be particularlyprocedure sensitive, especially if differing strategies are employed.These differing strategies may be used to emphasize different featuresof the unknown data set in order to facilitate comparison. Thistechnique is especially useful when the processing procedures are run inparallel, so that the latency penalty for redundant processing isminimized. Techniques available for this processing includevectorization, fractal processing, iterated function systems, spacialfrequency processing (DCT- IPEG, MPEG, etc.), wavelet processing, Gabortransforms, neural nets (static or sequence of images), and other knowntechniques.

In a preferred embodiment, a spatial frequency or wavelet processingstep is performed first, on static image data or a sequence of images,with a fractal domain processing step performed thereafter. This allowshigh frequency noise to be initially filtered; with subsequentfractal-based correlated noise detection and subtraction, thereforeallowing cleanup without loss of high frequency detail. Preferably,before the fractal-based processing, which may be performed by a digitalcomputer or optical processing apparatus, standard edge detection/objectseparation, e.g., high frequency filtering, contour mapping, artificialintelligence, etc. may be performed. A fractal transform is thenperformed on the image of a portion thereof, starting in a standardizedmanner, e.g. at a point of lowest complexity, or the epicenter of thelargest feature for beginning a contractive transform. The processedimage may then be matched with one or more databases to identify all ora portion of the image. Optionally, after a match has been found and/orconfirmed by an operator, using the human interface system, the methodis then optimized to minimize the errors and increase the efficiency oflater matches. This may be performed by modifying the database record,or related records, as well as modifying the preprocessing algorithm. Ina preferred embodiment, the image is processed piecemeal, on anobject-by-object basis. Therefore, after an object has been processed,it is extracted from the image so that the remaining information may beprocessed. Of course, multiple objects may be processed in parallel. Theexemplar database is preferably adaptive, so that new objects may beadded as they are identified.

The present technology may also be used with a model-based exemplardatabase, wherein an image object is matched, based on a two dimensionalprojection, or analysis of a sequence of images, with a multidimensionalmodel of an object. For example, the model may include volume, as wellas multiple degrees of freedom of movement. Further, objects may alsoinclude “morphing” characteristics, which identify expected changes inan appearance of an object. Other types of characteristics may beincluded in conjunction with the exemplar in the database.

In a preferred embodiment, a model contained in a database includes athree or more dimensional representation of an object. These modelsinclude information processed by a fractal-based method to encoderepetitive, transformed patterns in a plane, space, time, etc., as wellas to include additional degrees of freedom, to compensate for changesin morphology of the object, to allow continuous object identificationand tracking. Thus, once an object is identified, an expected change inthat object will not necessitate a reidentification of the object.According to one embodiment, a fractal-like processing is executed byoptical elements of an optical or optical hybrid computer. Further, inorder to temporarily store an optical image, optically active biologicalmolecules, such as bacteriorhodopsins, etc. may be used. Liquid crystalsor other electrophotorefractive active materials may also used. Theseimagers may be simple two dimensional images, holograms, or otheroptical storage methods. A preferred holographic storage method is avolume phase hologram, which will transform an impressed image, based onhologram to image correlation. Thus, these models would be somewhatlinear transform independent, and would likely show some (planar)transform relationship. Thus, an optical computer may be advantageousbecause of its high computational speed as compared to digital computersfor image analysis, due to inherent parallelism and high inherent speed.

Because of the present limitations in speed of writing an image tooptical recording media, especially holographic images, the preferredsystem includes a plurality of image storage elements, which areoperated in parallel. It is noted that absolute accuracy of objectidentification is not required for “consumer” applications, andtherefore partial match results may be considered useful. A plurality ofpartial results, when taken together, may also increase identificationreliability. Critical applications generally differ in quantitativeaspects rather than qualitatively, and therefore many aspects of thepresent invention may be applied to mission critical and other highreliability applications.

A preferred object identification method proceeds by first classifyingan object in an image, e.g., “car”, “person”, “house”, etc. Then, basedon the classification and object separation, an optimized preprocessingscheme is implemented, based on the classification. This classificationpreprocessing operates on the raw image data relating only to theobject, separated from the background. Then, after the optimizedpreprocessing, a parallel recognition system would operate to extractunique features and to identify common features to be excluded from thecomparison. This step could also identify variable features upon whichidentification should not be made because the distinctions are uselessfor the purpose. Thus, the object image at this point loses itsrelationship to the entire image, and the data reduction might besubstantial, providing a compact data representation. The preferredalgorithm has a tree structure, wherein the identification need onlydifferentiate a few possibilities, and pass the result to another branchof the tree for further analysis, if necessary. Since the intermediatecalculations may help in later computations, these should preferably beretained, in order to avoid duplicative analysis. Further, the order ofanalysis should be predetermined, even if arbitrary, so that once auseful intermediate calculation is identified, it may be passed in aregular, predictable manner to the next stage processing. Of course, oneshould not ignore that objects in the entire image may be correlatedwith one another, i.e. if one object is present, it would increase ordecrease the likelihood of another object also being present. Further,temporal correlations should also be noted. Thus, the objectidentification need not proceed upon each object independently.

Based on time sequences of two-dimensional images, a three dimensionalimage representation may be constructed. Alternatively, based on variouspresumptions about extractable “objects” in a single or small group oftwo dimensional images, a hypothetical three dimensional object may bemodelled, which may be later modified to reflect the actual image whenan actual view of hidden surfaces is shown. Therefore, by one means oranother a three dimensional model is created, having both volume andsurface characteristics. Of course, since inner structure may never beseen, the model normally emphasized the surface structure, and is thus aso-called two-and-a-half dimensional surface model. Other non-integraldimension representations may also be useful, and fractal models mayefficiently represent the information content of an image model.

When the source signal is an MPEG encoded datastream, it is advantageousto provide an exemplar database which does not require completeexpansion of the encoded signal. Thus, the motion vector analysisperformed by the MPEG encoder may form a part of the pattern recognitionsystem. Of course, image sequence description formats other than MPEGmay be better suited to pattern analysis and recognition tasks. Forexample, a system may transmit an interframe, by any suitabledescription method, as well as an object decomposed image in, e.g.,fractal transform codes. The transmitted source material, other thaninterframes, is then transmitted as changes only, e.g. new objects,transforms of existing objects, translations of existing objects, etc.

Color coding may use even more extensive use of fractal compressiontechnology with high compression ratios, because absolute accuracy isnot necessary; rather photorealism and texture are paramount, and neednot be authentic. Therefore, backgrounds with significant detail, whichwould require substantial data in a DCT type system, could be simplycoded and decoded without loss of significant useful information.Important to the use of this method is to discriminate betweenbackground textures and foreground objects, and to encode eachseparately, optimizing the processing based on the type of object beingprocessed.

EXAMPLE 26 Data Context Sensitive Computer Interface

The present example relates to a context sensitive computer interface inwhich a characteristic of the interface is modified based on alinguistic or informational content of a data object upon which theinterface is operating. For example, a number of alternate feature setsmay be made available based on the type of data which is being operatedon by the user. For example, differing feature sets would be optimal foreach scientific discipline, each type of financial or economic field,marketing, retail, distribution, manufacturing, administration, humanresources, etc. Such an interface will make it possible to provide anextended and extensible suite of application modules customized for theuser in general, and further adaptive to the particular use to which theuser may be making of the apparatus. Thus, complex options particularlysuited for the data at hand may be made available without inefficientinterface searching, while inappropriate options are not presented. Itis noted that this interface is responsive to the data, rather than theprogramming. Further, the data is analyzed for its meaning, rather thanits type.

In a word processing environment, a document or section of a document isanalyzed for the presence of particular words or phrases, or for thepresence of concepts, interpretable by linguistic concepts. Thiscontext-sensitive functionality does not require an explicit definitionby the user, but rather will be present even during an incidentaloccurrence of a recognized context. In accordance with other aspects ofthe present invention, each context related function may have varioususer levels, which are selected based on an imputed user level of theuser. Thus, the interface program must actually interpret the text orcontext of the user document in order to select the most likely optionsfor use.

Thus, if a user were to embed a table in a document, the availableoptions would change to table-type options when the “active” portion ofthe document is at the table, i.e. within the viewable area, etc.Further, and more specifically, if the text and context of the tableindicate that this is a financial table, financial options would beinitially provided, and standard financial calculation functionsimmediately made available or performed, in contemplation of theirprospective use. Similarly, if the data appears to be scientific, adifferent set of options would be initially available, and the standardscientific-type calculation functions be made available or performed. Ifthe table relates to chemical or mechanical-type data, chemical ormechanical options might be made available, respectively. Embeddedgraphics, likewise, would be associated with graphics functionsappropriate to the type of graphic. It is noted that, due to theanalysis of the content of the document, software having genericfunctionality may present as special purpose software, based on itsactual use.

Thus, in a like manner, the system could determine the “style” of thedocument and automatically format the data in a predetermined manner toconform with general standards of presentations relating to the desiredstyle. This is similar to style sheets of many programs, but they areself applying, and will, within the same document, be adaptive as thedata changes context. Further, since the “styles” would be appliedautomatically, it would be relatively easy to alter them, requiring onlya small amount of manual effort. This is so because the “keys” by whichthe system determines style could be stored, thus allowingredeterminations to be easily made. This context sensitivity could alsoassist in spelling and grammar checking, where different rules mayapply, depending on the context.

The data object includes information, which might be text, arrays ofnumbers, arrays of formulas, graphics, or other data types. The systemrelates parts of the object to each other by “proximity” which could belinear, in the case of a text document, or otherwise, such as in thecase of a hypertext document or spreadsheet. Those parts or elements ofthe object closest to each other, by whatever criteria, are presumed tobe topically related, regardless of data type. Thus, if a paragraph oftext is proximate to a table for numbers, then the type of numberspresumed to occupy the table would relate to the content of theproximate text. If the text relates to finance, i.e. usesfinancial-related terms, or series of words that often occur infinancial contexts, the table would be presumed to be a financial table.

Once the context of the part of the object is determined, the systemthen acts based upon this context. The major act is the presentation oftailored menus. This means that if the context is financial, the menusavailable for use with the numeric table relate to financial tables orspreadsheets. Further, the proximate text would be subject to financialoriented spellcheck and financial oriented grammar or style check. If agraphics-option is selected proximate to the text and table, the menuoptions would presume a financial graph and present appropriate choices.Of course, the options need not be limited to a few types, and may behybrid and/or adaptive to the style of the user. However, it is notedthat the adaptive menus could be linked to a “corporate style”. Thus,communication styles could be dictated by a set of global rules for anorganization. Of course, these a priori choices could be overridden.

An advantage of this system is that it allows a software system toinclude a wide range of functionality which remains “buried”, orrelatively inaccessible, based on the context of usage. Thus, featurerich software would be considered more usable, and software could beprovided in modular fashion. Since the system might allow a user to havepotential access to many software modules, the system could also belinked to a license manager and per use billing system for rarely usedmodules, while allowing these to remain available on, e.g., a CD ROM.Thus, for example, a full integrated package could employ a single,“standard” interface which would not require task-switching programs,while avoiding presentation of the full range of features to the user ateach juncture.

This system provides advantages over traditional systems by providing anon-standardized interface with a variable feature set which attainsusability by adapting a subset of the available functionality based onthe context of the data.

EXAMPLE 27 Group Aware Adaptive Computer Interface

The adaptive interface according to the present invention may be used ingroup computing applications. In such a case, the predictivefunctionality is applied to allow the interface to apply rules from onegroup member to a project, even when that group member has notcontributed personally to a particular aspect. This is thus a type ofintelligent agent technology, which, according to the present inventionincludes the characteristics of abstraction and extrapolation, ratherthan rule based analysis which would fail based on divergentcircumstances. This differs from standard rule-based expert systembecause the intelligence applied is not necessarily “expert”, and may beapplied in a relative fashion. Further, extracted user characteristicsneed not completely define a solution to a problem, and indeed, the useof such a technology in group situations presupposes that a contributionof a number of users is desirable, and therefore that the expertise ofany given user is limited.

In order to ensure data integrity after the application or contingentapplication of user characteristics to a datastream, it is desirable totrace the evolution of data structures. This also allows for assistancein the organization and distribution of workgroup responsibilities.Thus, in a workgroup situation, the goal is not optimization ofindividual productivity, but rather optimization of the group result,including all levels of review after an initial phase is complete.

Thus, while an individual user may seek various shortcuts to achievevarious results, the group would benefit by having available allinformation relating to the path taken to achieve that result. Further,the desired result may be modified according to the presumed actions ofthe group, so that the final product is pre-optimized for the group,rather than the individual. Thus, a group member may have his “rules”extracted from his actions, i.e. by neural net backpropagation of errorsprogramming or fuzzy rule definition, to be presented for considerationby another group member. This strategy will allow “better” drafts byconsidering the predicted input of a member prior to review by thatmember. A user may further tailor the rules for a given project, and“distilled wisdom” from non-group members may also be employed, as innormal expert (artificial intelligence or AI) systems.

This rule-extraction technology as applied to workgroups is enhanced bythe context sensitivity of the software, where the input of each groupmember may be weighted by considering the context. Again, this techniquemay be used to increase the efficiency of the primary author of asection of a project, as well as better defining the scope ofresponsibility of each member, while still respecting the input of othergroup members.

According to this workgroup rule extraction technology, points ofconflict between group members are highlighted for resolution. As anadjunct to this resolution phase of a project, videoconferencing may beemployed. Further, where a conflict of a similar type had occurred inthe past, data relating to the resolution of that conflict, includingrecorded videoconference, may be retrieved and presented to one or moremembers of the workgroup. In this way, such conflicts may be resolvedbefore it becomes adversarial. Thus, each group member may efficientlyproceed independently, with only major issues requiring meetings and thelike to resolve.

If a workgroup member disagrees with an imputed rule, either explicitly,by review of the rules, or implicitly, by a review of the results, thesystem will allow a review of all decisions influenced by that faultyrule, as well as a proposed correction. This may be addressed by anymember of the group, but usually by the author of the section or thesource of the rule will be the relevant reviewing individual. Rules mayalso be created by the group, rather than from a single individual. Suchrules are more often explicitly defined, rather than derived fromobservation. Such group rules may also be subjected to adaptive forces,especially when overridden frequently.

EXAMPLE 28 Adaptive Interface Vehicular Control System

It is noted that, the adaptive user level interface is of use inuncontrolled environments, such as in a moving vehicle, especially foruse by a driver. An intelligent system of the present invention wouldallow the driver of such a vehicle to execute control sequences, whichmay compensate for the limited ability to interact with an interfacewhile driving. Thus, the driver need not explicitly control allindividual elements, because the driver is assisted by an intelligentinterface. Thus, for example, if it begins raining, the interface wouldpredict the windshield wipers should be actuated, the windows and anyroof opening closed, and the headlights activated. Thus, the drivercould immediately assent to these actions, without individuallyactuating each control. In such a case, the screen interface, which maybe a heads-up display, would provide a small number of choices, whichmay be simply selected. Further, under such conditions, there wouldlikely be a large amount of mechanical jitter from the input device,which would be filtered to ease menu selection. Further, this jitterwould indicate an unstable environment condition, which would cause theinterface to present an appropriate display. A voice input may also beused.

EXAMPLE 29 Adaptive Interface Vehicular Control System

An integrated electronics system for an automobile is provided havingcontrol over engine, transmission, traction control, braking,suspension, collision avoidance, climate control, and audio systems.Steering and throttle may also be controlled. Based on driver preferenceand action patterns, the system may optimize the vehicle systems. Forexample, the vehicle may anticipate voluntary or road conditions basedon implicit inputs of the user, thus readying vehicular systems prior tothe actual encounter with certain conditions. Further, a user interfacemay be simplified, based on probable required functionality, thuslimiting required attention by the driver in order to activate aparticular control. By providing such an interface, controls normallyinaccesible may be made accessible, without increasing mechanicalcomplexity, e.g., functions normally controlled by computer may beaccessed through a common user interface, rather than through dedicatedmanual controls.

The automobile control system may also include collision avoidancesystems, which may include imaging sensors and radar or LIDAR rangingand velocity measurement. According to the present invention, a heads-updisplay or simplified graphic user interface in the dashboard or nearthe steering wheel presents predicted options to the driver. Anauxiliary interface may also make certain options available forpassengers.

FIG. 31 is a block diagram of a vehicle communicating with servicesaccording to some embodiments. According to another aspect of thepresent invention, an automobile positioning system is provided, whichmay be extraterrestrial, e.g., geographic positioning system (GPS), orterrestrial, e.g., cellular base station, LORAN, etc. Such a system isdescribed in U.S. Pat. No. 5,390,125, incorporated herein by reference;see references cited therein. A controller in the automobile 3104 isprovided with an itinerary for the vehicle travel. Based on position anditinerary, the vehicle 3104 may communicate with various services 3102,such as food, fuel and lodging providers, to “negotiate” for business.The driver may be provided with customized “billboards”, directed to hisdemographics. Reservations and discounts may all be arranged whileen-route. Communication between the automobile 3104 and the services3102 is preferably provided by cellular data packet device (CDPD)services 3106, which is a cellular based 832 MHz band digital datatransmission system. Therefore, an existing cell phone system or CDPDmodem system 3106 may be employed for telecommunication. Preferably, asimple display is provided for presentation of commercial messages tothe driver or passenger and for interacting with the service 3102.

As a matter of practice, the service may be subsidized by the serviceproviders, thus reducing the cost to the consumer. The extent of thesubsidy may be determined by the amount of data transmitted or by theeventual consummation of the transaction negotiated.

Because of the positioning system, any variance from the itinerary maybe transmitted to the service providers, so that reservations may becancelled, or substitute services provided in a different location or ata different time.

The telecommunication system may also be used as an emergency system, tocontact emergency services and/or police in the event of accident ordistress. The transponder system may also be part of an antitheftsystem. The transponder may also be part of a vehicular maintenance anddiagnostic system to ensure proper servicing and to help determine thenature of problems. Raw or processed data may be transmitted to acentralized station for full analysis and diagnosis. Because the vehicleneed not be at the repair shop for diagnosis, problems may be analyzedearlier and based on extensive, objective sensor data.

It should be understood that the preferred embodiments and examplesdescribed herein are for illustrative purposes only and are not to beconstrued as limiting the scope of the present invention, which isproperly delineated only in the appended claims.

REFERENCES INCORPORATED BY REFERENCE

“32-bit Floating-Point DSP Processors”, EDN, Nov. 7, 1991, pp. 127-146.

“A New Class of Markov Processes for Image Encoding”, School ofMathematics, Georgia Inst. of Technology (1988), pp. 14-32.

“Bar Code Programs VCR”, Design News, Feb. 1, 1988, 26.

“C-Cube CL550 JPEG Image Compression Processor”, Preliminary Data Book,August 1991, and addendum dated Nov. 20, 1991.

“Construction of Fractal Objects with Iterated Function Systems”,Siggraph '85 Proceedings, 19(3):271-278 (1985).

“Data Compression: Pntng by Numbrs”, The Economist, May 21, 1988.

“EMC² Pushes Video Rental By Satellite”, Electronic Engineering Times,Dec. 2, 1991, p.1, p. 98.

“Finger Painting”, Information Display 12, p. 18, 1981.

“Fractal Modelling of Real World Images, Lecture Notes for Fractals:Introduction, Basics and Perspectives”, Siggraph (1987).

“Fractal Geometry-Understanding Chaos”; Georgia Tech Alumni Magazine; p.16 (Spring 1986).

“Fractal Modelling of Biological Structures”, Perspectives in BiologicalDynamics and Theoretical Medicine, Koslow, Mandell, Shlesinger, eds.,Annals of New York Academy of Sciences, vol. 504, 179-194 (dateunknown).

“Fractals Yield High Compression”; Electronic Engineering Times; Sep.30, 1991; p. 39.

“Fractals-A Geometry of Nature”, Georgia Institute of TechnologyResearch Horizons; p. 9 (Spring 1986).

“How to find the best value in VCRs”, Consumer Reports, March 1988,135-141.

“Low-Cost VCRs: More For Less”, Consumer Reports, March 1990, 168-172.

“Machine Now Reads, enters Information 25 Times Faster Than HumanKeyboard Operators”, Information Display 9, p. 18 (1981).

“New Beetle Cursor Director Escapes All Surface Constraints”,Information Display 10, p. 12, 1984.

“Nielsen Views VCRs”, Television Digest, Jun. 23, 1988, 15.

“Scanner Converts Materials to Electronic Files for PCs”, IEEE CG&A,December 1984, p. 76.

“The Highs and Lows of Nielsen Homevideo Index”, Marketing & MediaDecisions, November 1985, 84-86+.

“The Smart House: Human Factors in Home Automation”, Human Factors inPractice, December 1990, 1-36.

“The Quest for ‘User Friendly’”, U.S. News & World Report, Jun. 13,1988. 54-56.

“VCR, Camcorder Trends”, Television Digest, Vol.. 29, Mar. 20, 1989, 16.

“VCR's: A Look At The Top Of The Line”, Consumer Reports, March 1989,167-170.

“VHS Videocassette Recorders”, Consumer Guide, 1990, 17-20.

“Voice Recognition and Speech Processing”, Elektor Electronics,September 1985, pp. 56-57.

Abedini, Kamran, and Hadad, George, “Guidelines For Designing BetterVCRs”, Report No. IME 462, Feb. 4, 1987.

Abedini, Kamran, “An Ergonomically-improved Remote Control Unit Design”,Interface '87 Proceedings, 375-380.

Aleksander, I.; “Guide to Pattern Recognition Using Random-AccessMemories”; Computers and Digital Techniques; 2(1):2940 (February 1979).

Anderson, F., W. Christiansen, B. Kortegaard; “Real Time, Video ImageCentroid Tracker”; Apr. 16-20, 1990.

Anson, L., M. Barnsley; “Graphics Compression Technology”; SunWorld; pp.43-52 (October 1991).

Appriou, A., “Interet des theories de l'incertain en fusion de donnees”,Colloque International sur le Radar Paris, 24-28 avril 1989.

Appriou, A., “Procedure d'aide a la decision multi-informateurs.Applications a la classification multi-capteurs de cibles”, Symposium del'Avionics Panel (AGARD) Turquie, 25-29 avril 1988.

Arrow, K. J., “Social choice and individual valves”, John Wiley and SonsInc. (1963).

Atkinson, Terry, “VCR Programming: Making Life Easier Using Bar Codes”.

Baldwin, William, “Just the Bare Facts, Please”, Forbes Magazine, Dec.12, 1988.

Ballard, D. H., and Brown, C. M., Computer Vision, Prentice Hall,Englewood Cliffs, N.J. (1982).

Barnsley et al., “Harnessing Chaos For Images Systhesis”, ComputerGraphics, 22(4):131-140 (August, 1988).

Barnsley, M. F., Ervin, V., Hardin, D., Lancaster, J., “Solution of anInverse Problem for Fractals and Other Sets”, Proc. Natl. Acad. Sci.U.S.A., 83:1975-1977 (April 1986).

Barnsley, M. F., “Fractals Everywhere”, Academic Press, Boston, Mass.,1988,

Barnsley, M. F., and Demko, S., “Iterated Function Systems and TheGlobal Construction of Fractals”, Proc. R. Soc. Lond., A399:243-275(1985).

Barnsley et al., “Hidden Variable Fractal Interpolation Functions”,School of Mathematics, Georgia Institute of Technology, Atlanta, Ga.30332, July, 1986.

Barnsley et al., “A Better Way to Compress Images”, Byte Magazine,January 1988, pp. 213-225.

Barnsley et al., “Chaotic Compression”, Computer Graphics World,November 1987.

Batchelor, B. G.; “Practical Approach to Pattern Classification”; PlenumPress, London and New York; (1974).

Batchelor, B. G.; “Pattern Recognition, Ideas in Practice”; PlenumPress, London and New York; (1978).

Baxes, Gregory A., “Digital Signal Processing, A Practical Primer”,Prentice-Hall, Englewood Cliffs, N.J. (1984).

Bellman, R. E., L. A. Zadeh, “Decision making in a fuzzy environment”,Management Science, 17(4) (December 1970).

Bensch, U., “VPV—VIDEOTEXT PROGRAMS VIDEORECORDER”, IEEE Transactions onConsumer Electronics, 34(3):788-792 (1988).

Berger, Ivan, “Secrets of the Universals”, Video, February 1989, 45-47+.

Beringer, D. B., “A Comparative Evaluation of Calculator Watch DataEntry Technologies: Keyboards to Chalkboards”, Applied Ergonomics,December 1985, 275-278.

Bhatnagar, R. K., L. N. Kamal, “Handling uncertain information: a reviewof numeric and non-numeric methods”, Uncertainty in ArtificialIntelligence, L. N. Kamal and J. F. Lemmer, Eds. (1986).

Bishop, Edward W., and Guinness, G. Victor Jr., “Human FactorsInteraction with Industrial Design”, Human Factors, 8(4):279-289 (August1966).

Blair, D., R. Pollack, “La logique du choix collectif” Pour la Science(1983).

Brown, Edward, “Human Factors Concepts For Management”, Proceedings ofthe Human Factors Society, 1973, 372-375.

Bulkeley, Debra, “The Smartest House in America”, Design News, Oct. 19,1987, 56-61.

Burr, D. J.; “A Neural Network Digit Recognizer”; Proceedings of the1986 IEEE International Conference of Systems, Man and Cybernetics,Atlanta, Ga.; pp. 1621-1625.

Bursky, D., “Improved DSP ICs Eye New Horizons”, Electronic Design, Nov.11, 1993, pp. 69-82.

Caffery, B.; Fractal Compression Breakthrough for MultimediaApplications”; Inside; Oct. 9, 1991.

Card, Stuart K., “A Method for Calculating Performance times for Usersof Interactive Computing Systems”, IEEE, 1979, 653-658.

Carlson, Mark A., “Design Goals for an Effective User Interface”, HumanInterfacing with Instruments, Electro/82 Proceedings, 3/1/1-3/1/4.

Carpenter, G. A., S. Grossberg, “The Art of Adaptive Pattern Recognitionby a Self-Organizing Neural Network,” IEEE Computer, March 1988, pp.77-88.

Carroll, Paul B., “High Tech Gear Draws Cries of “Uncle”, Wall StreetJournal, Apr. 27, 1988, 29.

Casasent, D., et al.;, “General I and Q Data Processing on aMultichannel AO System”; Applied Optics; 25(18):3217-24 (Sep. 15, 1986).

Casasent, D., Photonics Spectra, November 1991, pp. 134-140.

Casasent, D., and Tescher, A., Eds., “Hybrid Image and Signal ProcessingII”, Proc. SPIE Technical Symposium, April 1990, Orlando Fla. 1297(1990).

Caudill, M.; “Neural Networks Primer-Part III”; AI Expert; June 1988;pp. 53-59.

Chao, J. J., E. Drakopoulos, C. C. Lee, “An evidential reasoningapproach to distributed multiple hypothesis detection”, Proceedings ofthe 20th Conference on decision and control, Los Angeles, Calif.,December 1987.

Chao, T.-H.; Hegblom, E.; Lau, B.; Stoner, W. W.; Miceli, W. J.,“Optoelectronically implemented neural network with a waveletpreprocessor”, Proceedings of the SPIE—The International Society forOptical Engineering, 2026:472-82 (1993).

Chen et al.; “Adaptive Coding of Monochrome and Color Images”; November1977; pp. 1285-1292.

Cheong, C. K.; Aizawa, K.; Saito, T.; Hatori, M., “Adaptive edgedetection with fractal dimension”, Transactions of the Institute ofElectronics, Information and Communication Engineers D-II,J76D-II(11):2459-63 (1993)

Cobb, Nathan, “I don't get it”, Boston Sunday Globe Magazine, Mar. 25,1990, 23-29.

Computer Visions, Graphics, and Image Processing 1987, 37:54-115.

Computers and Biomedical Research 5, 388-410 (1972).

Cooper, L. N.; “A Possible Organization of Animal Memory and Learning”;Nobel 24; (1973); Collective Properties of Physical Systems; pp. 252-264

Crawford et al.; “Adaptive Pattern Recognition Applied To An ExpertSystem For Fault Diagnosis In Telecommunications Equipment”; pp. 10/1-8(Inspec. Abstract No. 86CO10699, Insepc IEE (London) & IEE Coll. on“Adaptive Filters”, Digest No. 76, Oct. 10, 1985)

Danielsson, Erik, et al.; “Computer Architectures for Pictorial Inf.Systems”; IEEE Computer, Noveber., 1981; pp. 53-67.

Davis, Fred, “The Great Look-and-Feel Debate”, A+, 5:9-11 (July 1987).

Dehning, Waltraud, Essig Heidrun, and Maass, Susanne, The Adaptation ofVirtual Man-Computer Interfaces to User Requirements in Dialogs,Germany, Springer-Verlag, 1981.

Dempster, A. P., “A generalization of Bayesian inference”, Journal ofthe Royal Statistical Society, Vol. 30, Series B (1968).

Dempster, A. P., “Upper and lower probabilities induced by a multivaluedmapping”, Annals of mathematical Statistics, no. 38 (1967).

Denker; 1984 International Test Conf., October 1984, Philadelphia, Pa.;pp. 558-563.

Derra, Skip, “Researchers Use Fractal Geometry . . . ”, Research andDevelopment Magazine, March 1988.

Donovan, J., “Intel/IBM's Audio-Video Kernel”, Byte, December, 1991, pp.177-202.

Dubois, D., N. Prade, “Fuzzy sets and systems-Theory and applications”,Academic Press, New York (1980).

Dubois, D.; “Modeles mathernatiques de l'imprecis et de l'incertain envue d'applications aux techniques d'aide a la decision”; DoctoralThesis, University of Grenoble (1983).

Dubois, D., N. Prade, “Combination of uncertainty with belief functions:a reexamination”, Proceedings 9th International Joint Conference onArtificial Intelligence, Los Angeles (1985):

Dubois, D., N. Prade, “Theorie des possibilites: application a larepresentation des connaissances en informatique”, Masson, Paris (1985).

Duda, R. O., P. E. Hart, M. J. Nilsson, “Subjective Bayesian methods forrule-based inference systems”, Technical Note 124-ArtificialIntelligence Center-SRI International.

Dunning, B. B.; “Self-Learning Data-Base For Automated FaultLocalization”; IEEE; 1979; pp. 155-157.

Ehrenreich, S. L., “Computer Abbreviations—Evidence and Synthesis”,Human Factors, 27(2):143-155 (April 1985).

Electronic Engineering Times (EET), Oct. 28, 1991, p. 62.

Elton, J., “An Ergodic Theorem for Iterated Maps”, Journal of ErgodicTheory and Dynamical Systems, 7 (1987).

Farrelle, Paul M. and Jain, Anil K.; “Recursive Block Coding-A NewApproach to Transform Coding”; IEEE Transactions on Communications,Corn. 34(2) (February 1986).

Fitzpatrick, J. M., J. J. Grefenstette, D. Van Gucht; “ImageRegistration by Genetic Search”; Conf. Proc., IEEE Southeastcon 1984;pp. 460-464.

Foley, J. D., Wallace, V. L., Chan, P., “The Human Factor of ComputerGraphics Interaction Techniques”, IEEE CG&A, November 1984, pp. 1348.

Friedman, M. B., “An Eye Gaze Controlled Keyboard”, Proceedings of the2nd International Conference on Rehabilitation Engineering, 1984,446-447.

Fua, P. V., “Using probability density functions in the framework ofevidential reasoning Uncertainty in knowledge based systems”, B.Bouchon, R. R. Yager, Eds. Springer Verlag (1987).

Gilfoil, D., and Mauro, C. L., “Integrating Human Factors and Design:Matching Human Factors Methods up to Product Development”, C. L. MauroAssoc., Inc., 1-7.

Gleick, James, “Making a New Science”, pp. 215, 239, date unknown.

Gogoussis et al.; Proc. SPIE Intl. Soc. Opt. Eng., November 1984,Cambridge, Mass.; pp. 121-127.

Gonzalez, Rafael C., “Digital Image Processing”, Addison-Wesley,Reading, Mass. (1987).

Gould, John D., Boies, Stephen J., Meluson, Antonia, Rasammy, Marwan,and Vosburgh, Ann Marie, “Entry and Selection Methods For SpecifyingDates”. Human Factors, 32(2):199-214 (April 1989).

Green, Lee, “Thermo Tech: Here's a common sense guide to the newthinking thermostats”, Popular Mechanics, October 1985, 155-159.

Grossberg, S., G. Carpenter, “A Massively Parallel Architecture for aSelf-Organizing Neural Pattern Recognition Machine,” Computer Vision,Graphics, and Image Processing (1987, 37, 54-115), pp. 252-315.

Grudin, Jonathan, “The Case Against User Interface Consistency”, MCCTechnical Report Number ACA-HI-002-89, January 1989.

Gullichsen, E., E. Chang, “Pattern Classification by Neural Network: AnExperiment System for Icon Recognition,” ICNN Proceeding on NeuralNetworks, March 1987, pp. IV-725-32.

Haruki, K. et al.; “Pattern Recognition of Handwritten Phonetic JapaneseAlphabet Characters”; International Joint Conference on Neural Networks,Washington, D.C.; January 1990; pp. II515 to II518.

Harvey, Michael G., and Rothe, James T., “VideoCassette Recorders: TheirImpact on Viewers and Advertisers”, Journal of Advertising, 25:19-29(December/January 1985).

Hawkins, William J., “Super Remotes”, Popular Science, February 1989,76-77.

Hayashi, Y., et al.; “Alphanumeric Character Recognition Using aConnectionist Model with the Pocket Algorithm”; Proceedings of theInternational Joint Conference on Neural Networks, Washington, D.C. Jun.18-22; 1989; vol. 2, pp. 606-613.

Hayes, H. I.; Solka, J. L.; Priebe, C. E.; “Parallel computation offractal dimension”, Proceedings of the SPIE—The International Societyfor Optical Engineering, 1962:219-30 (1993).

Henke, Lucy L., and Donohue, Thomas R., “Functional Displacement ofTraditional TV Viewing by VCR Owners”, Journal of Advertising Research,29:18-24 (April-May 1989).

Hinton et al.; “Boltzmann Machines: Constraint Satisfaction Networksthat Learn”; Tech. Report CMU-CS-85-119; Carnegie-Mellon Univ; 5/84.

Hirzinger, G., Landzettel, K., “Sensory Feedback Structures for Robotswith Supervised Learning”, IEEE Conf. on Robotics and Automation, St.Louis, March 1985.

Hoare, F.; de Jager, G., “Neural networks for extracting features ofobjects in images as a pre-processing stage to pattern classification”,Proceedings of the 1992 South African Symposium on Communications andSignal Processing. COMSIG '92 (Cat. No.92TH0482-0). Inggs, M. (Ed.), p.239-42 (1992).

Hoban, Phoebe, “Stacking the Decks”, New York, Feb. 16, 1987, 20:14.

Hoffberg, Linda I., “AN IMPROVED HUMAN FACTORED INTERFACE FORPROGRAMMABLE DEVICES: A CASE STUDY OF THE VCR”, Master's Thesis, TuftsUniversity (Master of Sciences in Engineering Design, November).

Hoffberg, Linda I., “Designing User Interface Guidelines For Time-ShiftProgramming of a Video Cassette Recorder (VCR)”, Proc. of the HumanFactors Soc. 35th Ann. Mtg. pp. 501-504 (1991).

Hoffberg, Linda I., “Designing a Programmable Interface for a VideoCassette Recorder (VCR) to Meet a User's Needs”, Interface 91 pp.346-351 (1991).

Hopfield et al; “Computing with Neural Circuits: A Model”; Science; vol.233:625-633 (8 August 1986).

Hopfield; “Neurons with graded response have collective computationalproperties like those of two-state neurons”; Proc. Natl. Acad. Sci. USA;81:3088-3092 (May 1984).

Hopfield; “Neural Networks and Physical Systems with Emergent CollectiveComputational Abilities”; Proc. Natl. Acad. Sci. USA; 79:2554-2558(April 1982).

Horgan, H., “Medical Electronics”, IEEE Spectrum, January 1984, pp.90-93.

Howard, Bill, “Point and Shoot Devices”, PC Magazine, 6:95-97, August1987.

Hurtgen, B.; Buttgen, P., “Fractal approach to low rate video coding”,Proceedings of the SPIE—The International Society for OpticalEngineering, 2094(pt. 1):120-31(1993).

Information Processing 71; North-Holland Publishing Company (1972) pp.1530-1533.

Ishizuka, M., “Inference methods based on extended Dempster and Shafer'stheory for problems with uncertainty/fuzziness”, New GenerationComputing, 1:159-168 (1983), Ohmsha, Ltd., and Springer Verlag.

Jackel, L. D., H. P. Graf, J. S. Denker, D. Henderson and I. Guyon, “AnApplication of Neural Net Chips: Handwritten Digit Recognition,” ICNNProceeding, 1988, pp. II-107-15.

Jane Pauley Special, NBC TV News Transcript, Jul. 17, 1990, 10:00 PM.

Jean, J. S. N., et al.; “Input Representation and Output VotingConsiderations for Handwritten Numeral Recognition withBackpropagation”; International Joint Conference on Neural Networks,Washington, D.C., January 1990; pp. I-408 to I-411.

Jeffrey, R. J., “The logic of decision”, The University of ChicagoPress, Ltd., London (1983)(2nd Ed.).

Kaufmann, A., “Introduction a la theorie des sousensembles flous”, Vol.1, 2 et 3-Masson-Paris (1975).

Keeney, R. L., B. Raiffa, “Decisions with multiple objectives:Preferences and value tradeoffs”, John Wiley and Sons, New York (1976).

Kellman, P., “Time Integrating Optical Signal Processing”, Ph. D.Dissertation, Stanford University, 1979, pp. 51-55.

Kim, D. H.; Caulfield, H. J.; Jannson, T.; Kostrzewski, A.; Savant, G,“Optical fractal image processor for noise-embedded targets detection”,Proceedings of the SPIE—The International Society for OpticalEngineering, Vol: 2026 p. 1449 (1993) (SPIE Conf: Photonics forProcessors, Neural Networks, and Memories 12-15 July 1993, San Diego,Calif., USA).

Kim, Y., “Chips Deliver Multimedia”, Byte, December 1991, pp. 163-173.

Knowlton, K., “Virtual Pushbuttons as a Means of Person-MachineInteraction”, Proc of Conf. Computer Graphics, Pattern Recognition andData Structure, Beverly Hills, Calif., May 1975, pp. 350-352.

Koch, H., “Ergonomische Betrachtung von Schreibtastaturen”, HumaneProduction, 1, pp. 12-15 (1985).

Kohonen; “Self-Organization & Memory”, Second Ed., 1988;Springer-Verlag; pp. 199-209.

Kolson, Ann, “Computer wimps drown in a raging sea of technology”, TheHartford Courant, May 24, 1989, B1.

Kortegaard, B. L.; “PAC-MAN, a Precision Alignment Control System forMultiple Laser Beams Self-Adaptive Through the Use of Noise”; Los AlamosNational Laboratory; date unknown.

Kortegaard, B. L.; “Superfine Laser Position Control Using StatisticallyEnhanced Resolution in Real Time”; Los Alamos National Laboratory;SPIE-Los Angeles Technical Symposium; Jan. 23-25, 1985.

Kraiss, K. F., “Alternative Input Devices For Human ComputerInteraction”, Forschunginstitut Für Anthropotecahnik, Werthhoven, F.R.Germany.

Kraiss, K. F., “Neuere Methoden der Interaktion an der SchnittstelleMensch-Maschine”, Z. F. Arbeitswissenschaft, 2, pp. 65-70, 1978.

Kreifeldt, John, “Human Factors Approach to Medical Instrument Design”,.Electro/82 Proceedings, 3/3/1-3/3/6.

Kreifeldt, J. G., “A Methodology For Consumer Product Safety Analysis”,The 3rd National Symposium on Human Factors in Industrial Design inConsumer Products, August 1982, 175-184.

Ksienski et al., “Low Frequency Approach to Target Identification”,Proc. of the IEEE, 63(12):1651-1660 (December 1975).

Kuocheng, Andy Poing, and Ellingstad, Vernon S., “Touch Tablet and TouchInput”, Interface '87, 327.

Kyburg, H. E., “Bayesian and non Bayesian evidential updating”,Artificial Intelligence 31:271-293 (1987).

LeCun, Y., et al., “Handwritten Digit Recognition: Applications ofNeural...”, IEEE Comm. Magazine, pp. 41-46 (November 1989).

LeCun, Y., “Connectionism in Perspective”, in R. Pfeifer, Z. Schreter,F. Fogelman, L. Steels, (Eds.), 1989, “Generalization and Network DesignStrategies”, pp. 143-55.

Ledgard, Henry, Singer, Andrew, and Whiteside, John, Directions in HumanFactors for Interactive Systems, New York, Springer-Verlag, 1981.

Lee, Eric, and MacGregor, James, “Minimizing User Search Time MenuRetrieval Systems”, Human Factors, 27(2):157-162 (April 1986).

Lendaris, G. G., and Stanely, G. L., “Diffraction Pattern Sampling forAutomatic Target Recognition”, Proc. IEEE 58:198-205 (1979).

Leon, Carol Boyd, “Selling Through the VCR”, American Demographics,December 1987, 40-43.

Liepins, G. E., M. R. Hilliard; “Genetic Algorithms: Foundations &Applications”; Annals of Operations Research, 21:31-58 (1989).

Li, H. Y. et al, Applied Optics (April, 1993).

Lin, H. K., et al.; “Real-Time Screen-Aided Multiple-Image OpticalHolographic Matched-Filter Correlator”; Applied Optics; 21(18):3278-3286(Sep. 15, 1982)

Lippmann, R. P., “An Introduction to Computing with Neural Nets”, IEEEASSP Magazine, 4(2):4-22 (April 1987).

Liu, Y., “Pattern recognition using Hilbert space”, Proceedings of theSPIE—The International Society for Optical Engineering, 1825:63-77(1992).

Liu, Y., “Extensions of fractal theory”, Proceedings of the SPIE—TheInternational Society for Optical Engineering, 1966:255-68(1993).

Long, John, “The Effect of Display Format on the Direct Entry ofNumerical Information by Pointing”, Human Factors, 26(1):3-17 (February1984).

Lu, C., “Computer Pointing Devices: Living With Mice”, High Technology,January 1984, pp. 61-65.

Mahalanobis, A., et al.; “Minimum Average Correlation Energy Filters”;Applied Optics; 26(17):3633-40 (Sep. 1, 1987).

Mandelbrot, B., “The Fractal Geometry of Nature”, W.H. Freeman & Co.,San Francisco, Calif., 1982, 1977; and

Mantei, Marilyn M., and Teorey, Toby J., “Cost/Benefit Analysis forIncorporating Human Factors in the Software Lifecycle”, Association forComputing Machinery, 1988.

Maragos, P., “Tutorial Advances in Morphological Image Processing”Optical Engineering 26:7:623-632 (1987).

Martin, G. L. et al.; “Recognizing Hand-Printed Letters and Digits UsingBackpropagation Learning”; Technical Report of the MCC, Human InterfaceLaboratory, Austin, Tex.; January 1990; pp. 1-9.

McAulay, A. D., J. C. Oh; “Image Learning Classifier System UsingGenetic Algorithms”; IEEE Proc. of the National Aerospace & ElectronicsConference; 2:705-710 (1989).

Meads, Jon A., “Friendly or Frivolous”, Datamation, Apr. 1, 1988,98-100.

Miller, R. K.; Neural Networks ((c) 1989: Fairmont Press; Lilburn, Ga.);pp. 2-12 and Chapter 4, “Implementation of Neural Networks”; pp. 4-1 to4-26.

Molley, P., “Implementing the Difference-Squared Error Algorithm UsingAn Acousto-Optic Processor”, SPIE, 1098:232-239,(1989).

Molley, P., et al., “A High Dynamic Range Acousto-Optic Image Correlatorfor Real-Time Pattern Recognition”, SPIE, 938:55-65 (1988).

Moore, T. G. and Dartnall, “Human Factors of a Microelectronic Product:The Central Heating Timer/Programmer”, Applied Ergonomics, 13(1): 15-23(1983).

Mori; “Towards the construction of a large-scale neural network”;Electronics Information Communications Association Bulletin PRU 88-59;pp. 87-94.

Naik et al., “High Performance Speaker Verification . . . ”, ICASSP 86,Tokyo, CH22434/86/0000-0881, IEEE 1986, pp. 881-884.

Netravali, Arun N., and Haskell, Barry G., “Digital PicturesRepresentation and Compression”, Plenum Press, New York (1988).

Ney, H., et al.; “A Data Driven Organization of the Dynamic ProgrammingBeam Search for Continuous Speech Recognition”; Proc. ICASSP 87; pp.833-836; 1987.

Nilsson, N. J.; The Mathematical Foundations of Learning Machines ((c)1990: Morgan Kaufmann Publishers, San Mateo, Calif.) and particularlysection 2.6 “The Threshold Logic Unit (TLU)”, pp. 21-23 and Chapter 6,“Layered Machines” pp. 95-114.

Norman, Donald A., “Infuriating By Design”, Psychology Today,22(3):52-56 (March 1988).

Norman, Donald A., The Psychology of Everyday Things, New York: BasicBook, Inc. 1988.

Norman, D. A., Fisher, D., “Why Alphabetic Keyboards Are Not Easy ToUse: Keyboard Layout Doesn't Much Matter”, Human Factors 24(5), pp.509-519 (1982).

O'Neal et al.; “Coding Isotropic Images”; November 1977; pp. 697-707.

Ohsuga et al, “Entrainment of Two Coupled van der Pol Oscillators by anExternal Oscillation”, Biological Cybernetics, 51:225-239 (1985).

Omata et al, “Holonic Model of Motion Perception”, IEICE TechnicalReports, 3/26/88, pp. 339-346.

Optical Engineering 28:5 (May 1988)(Special Issue on productinspection).

Pawlicki, T. F., D. S. Lee, J. J. Hull and S. N. Srihari, “NeuralNetwork Models and their Application to Handwritten Digit Recognition,”ICNN Proceeding, 1988, pp. II-63-70.

Perry et al.; “Auto-Indexing Storage Device”; IBM Tech. Disc. Bulletin,12(8):1219 (January 1970).

Perspectives: High Technology 2, 1985.

Peterson, Ivars, “Packing It In-Fractals . . . ”, Science News,131(18):283-285 (May 2, 1987).

Platte, Hans-Joachim, Obrkatzas, Gunter, and Voessing, Walter, “A NewIntelligent Remote Control Unit for Consumer Electronic Device”, IEEETransactions on Consumer Electronics, Vol. CE-31(1):59-68 (February1985).

Press, William H. et al, “Numerical Recipes in C The Art of ScientificComputing”, Cambridge University Press, 1988.

Priebe, C. E.; Solka, J. L.; Rogers, G. W., “Discriminant analysis inaerial images using fractal based features”, Proceedings of the SPIE—TheInternational Society for Optical Engineering, 1962: 196-208(1993).

Proakis, John G., Digital Communications, McGraw-Hill (1983)

Proceedings, 6th International Conference on Pattern Recognition 1982,pp. 152-136.

Psaltis, D., “Two-Dimensional Optical Processing Using One-DimensionalInput Devices”, Proceedings of the IEEE, 72(7):962-974 (July 1984).

Psaltis, D., “Incoherent Electro-Optic Image Correlator”, OpticalEngineering, 23(1):12-15 (January/February 1984).

Rahrnati, M.; Hassebrook, L. G., “Intensity- and distortion-invariantpattern recognition with complex linear morphology”, PatternRecognition, 27 (4):549-68(1994).

Ravichandran, G. and Casasent, D., “Noise and Discrimination Performanceof the MINACE Optical Correlation Filter”, Proc. SPIE TechnicalSymposium, April 1990, Orlando Fla., 1471 (1990).

Reusens, E., “Sequence coding based on the fractal theory of iteratedtransformations systems”, Proceedings of the SPIE—The InternationalSociety for Optical Engineering, 2094(pt. 1): 132-40(1993).

Rhodes, W., “Acousto-Optic Signal Processing: Convolution andCorrelation”, Proc. of the IEEE, 69(1):65-79 (January 1981).

Richards J., and Casasent, D., “Real Time Hough Transform for IndustrialInspection” Proc. SPIE Technical Symposium, Boston 1989 1192:2-21(1989).

Rogus, John G. and Armstrong, Richard, “Use of Human EngineeringStandards in Design”, Human Factors, 19(1): 15-23 (February 1977).

Rosch, Winn L., “Voice Recognition: Understanding the Master's Voice”,PC Magazine, Oct. 27, 1987, 261-308.

Rosenfeld, Azriel and Avinash C. Kak; Digital Picture Processing, SecondEdition, Volume 2, Academic Press, 1982.

Roy, B., “Classements et choix en presence de points de vue multiples”,R.I.R.O.-2eme annee-no. 8; pp. 57-75 (1968).

Roy, B., “Electre m: un algorithme de classements fonde sur unerepresentation floue des preferences en presence de criteres multiples”Cahiers du CERO, 20(1):3-24 (1978).

Rumelhart, D. E., et al.; Parallel Distributed Processing, ((c) 1986:MIT Press, Cambridge, Mass.), and specifically Chapter 8 thereof,“Learning Internal Representations by Error Propagation”; pp. 318-362.

Rumelhart, D. E., et al.; “Learning Internal Representations by ErrorPropagation”; Parallel Distr. Proc.: Explorations in Microstructure ofCognition, 1:318-362 (1986).

Rutherford, H. G., F. Taub and B. Williams; “Object Identification andMeasurement from Images with Access to the Database to Select SpecificSubpopulations of Special Interest”; May 1986.

Rutter et al.; “The Timed Lattice-A New Approach To Fast ConvergingEqualizer Design”; pp.VIII/11-5 (Inspec. Abstract No. 84C044315, InspecIEE (London) & IEE Saraga Colloquium on Electronic Filters, May 21,1984)

Sadjadi, F., “Experiments in the use of fractal in computer patternrecognition”, Proceedings of the SPIE—The International Society forOptical Engineering, 1960:214-22 (1993).

Sakoe, H.; “A Generalization of Dynamic Programming Based PatternMatching Algorithm Stack DP-Matching”; Transactions of the Committee onSpeech Research; The Acoustic Society of Japan; p. S83-23; 1983.

Sakoe, H.; “A Generalized Two-Level DP-Matching Algorithm for ContinuousSpeech Recognition”; Transactions of the IECE of Japan; E65(11):649-656(November 1982).

Sarver, Carleton, “A Perfect Friendship”, High Fidelity, 39:42-49 (May1989).

Scharlic, A., “Decider sur plusieurs criteres. Panorama de l'aide a ladecision multicritere” Presses Polytechniques Romandes (1985).

Schmitt, Lee, “Let's Discuss Programmable Controllers”, Modern MachineShop, May 1987, 90-99.

Schniederman, Ben, Designing the User Interface: Strategies forEffective Human-Computer Interaction, Reading, MA, Addison-Wesley, 1987.

Schurmann, J.; “Zur Zeichen und Worterkennung beim AutomatischenAnschriftenlesen”; Wissenschaftlichl, Berichte, 52(1/2) (1979).

Scientific American; “Not Just a Pretty Face”; March 1990, pp. 77-78.

Shafer, G., “A mathematical theory of evidence”, Princeton UniversityPress, Princeton, N.J. (1976).

Shimizu et al, “Principle of Holonic Computer and Holovision”, Journalof the Institute of Electronics, Information and Communication,70(9):921-930 (1987).

Shinan et al., “The Effects of Voice Disguise . . . ”, ICASSP 86, Tokyo,CH2243-186/0000-0885, IEEE 1986, pp. 885-888.

Silverston et al.; “Spectral Feature Classification and Spatial PatternRec.”; SPIE 201:17-26, Optical Pattern Recognition (1979).

Simpson, W. R., C. S. Dowling; “WRAPLE: The Weighted Repair AssistanceProgram Learning Extension”; IEEE Design & Test, 2:66-73 (April 1986).

Smith, Sidney J., and Mosier, Jane N., Guidelines for Designing UserInterface Software, Bedford, Mass.; MITRE, 1986.

Specht; IEEE Internatl. Conf. Neural Networks, 1:1525-1532 (July 1988);San Diego, Calif.

Sperling, Barbara Bied, Tullis Thomas S., “Are You a Better ‘Mouser’ or‘Trackballer’? A Comparison of Cursor—Positioning Performance”, AnInteractive/Poster Session at the CHI+GI'87 Graphics Interface and HumanFactors in Computing Systems Conference.

Sprageu, R. A.; “A Review of Acousto-Optic Signal Correlators”; OpticalEngineering; 16(5):467-74 (September/October 1977)

Sprinzak, J.; Werman, M., “Affine point matching”, Pattern RecognitionLetters, 15(4):337-9(1994).

Stanley R. Sternberg; “Biomedical Image Processing”; IEEE Computer;1983; pp. 22-34.

Stewart, R. M.; “Expert Systems For Mechanical Fault Diagnosis”; IEEE;1985; pp. 295-300.

Streeter, L. A., Ackroff, J. M., and Taylor, G. A. “On AbbreviatingCommand Names”, The Bell System Technical Journal, 62(6):1807-1826(July/August 1983).

Sugeno, M., “Theory of fuzzy integrals and its applications”, TokyoInstitute of Technology (1974).

Svetkoff et al.; Hybrid Circuits (GB), No. 13, May 1987; pp. 5-8.

Swanson, David, and Klopfenstein, Bruce, “How to Forecast VCRPenetration”, American Demographic, December 1987, 44-45.

Tello, Ernest R., “Between Man And Machine”, Byte, September 1988,288-293.

Thomas, John, C., and Schneider, Michael L., Human Factors in ComputerSystems, New Jersey, Ablex Publ. Co., 1984.

Trachtenberg, Jeffrey A., “How do we confuse thee? Let us count theways”, Forbes, Mar. 21, 1988, 159-160.

Tyldesley, D. A., “Employing Usability Engineering in the Development ofOffice Products”, The Computer Journal”, 31(5):431-436 (1988).

Udagawa, K., et al; “A Parallel Two-Stage Decision Method forStatistical Character Recognition . . . ”; Electronics andCommunications in Japan (1965).

Vander Lugt, A., “Signal Detection By Complex Spatial Filtering”, IEEETransactions On Information Theory, IT-10, 2:139-145 (April 1964).

Vander Lugt, A., et al.; “The Use of Film Nonlinearites in OpticalSpatial Filtering”; Applied Optics; 9(1):215-222 (January 1970).

Vander Lugt, A.; “Practical Considerations for the Use of SpatialCarrier-Frequency Filters”; Applied Optics; 5(11):1760-1765 (November1966).

Vannicola et al, “Applications of Knowledge based Systems toSurveillance”, Proceedings of the 1988 IEEE National Radar Conference,20-21 April 1988, pp. 157-164.

Verplank, William L., “Graphics in Human-Computer Communication:Principles of Graphical User-Interface Design”, Xerox Office Systems.

Vitols; “Hologram Memory for Storing Digital Data”; IBM Tech. Disc.Bulletin 8(11):1581-1583 (April 1966).

Voyt, Carlton F., “PLC's Learn New Languages”, Design News, Jan. 2,1989, 78.

Wald; Sequential Analysis; Dover Publications Inc., 1947; pp. 3-43.

Wasserman, Philip D.; “Neural Computing-Theory & Practice”; 1989; pp.128-129.

Weshsler, H. Ed., “Neural Nets For Human and Machine Perception”,Academic Press, New York (1991).

Whitefield, A. “Human Factors Aspects of Pointing as an Input Techniquein Interactive Computer Systems”, Applied Ergonomics, June 1986, 97-104.

Wiedenbeck, Susan, Lambert, Robin, and Scholtz, Jean, “Using ProtocolAnalysis to Study the User Interface”, Bulletin of the American Societyfor Information Science, June/July 1989, 25-26.

Wilke, William, “Easy Operation of Instruments by Both Man and Machine”,Electro/82 Proceedings, 3/2/1-3/2/4.

Willshaw et al.; “Non-Holographic Associative Memory”; Nature;222:960-962 (Jun. 7, 1969).

Yager, R. R., “Entropy and specificity in a mathematical theory ofEvidence”, Int. J. General Systems, 9:249-260 (1983).

Yamada et. al.; “Character recognition system using a neural network”;Electronics Information Communications Association Bulletin PRU 88-58,pp. 79-86.

Yamane et al.; “An Image Data Compression Method Using Two-DimensionalExtrapolative Prediction-Discrete Sine Transform”; Oct. 29-31, 1986; pp.311-316.

Yoder, Stephen Kreider, “U.S. Inventors Thrive at Electronics Show”, TheWall Street Journal, Jan. 10, 1990, B1.

Zadeh, L. A., “Fuzzy sets”, Information and Control, 8:338-353 (1965).

Zadeh, L. A., “Probability measures of fuzzy events”, Journal ofMathematical Analysis and Applications, 23:421-427 (1968).

Zadeh, L. A., “Fuzzy sets as a basis for a theory of possibility”, Fuzzysets and Systems 1:3-28 (1978).

Zeisel, Gunter, Tomas, Philippe, Tomaszewski, Peter, “An InteractiveMenu-Driven Remote Control Unit for TV-Receivers and VC-Recorders”, IEEETransactions on Consumer Electronics, 34(3):814-818.

Zhi-Yan Xie; Brady, M., “Fractal dimension image for texturesegmentation”, ICARCV '92. Second International Conference onAutomation, Robotics and Computer Vision, p. CV4.3/1-5 vol. 1, (1992).

Zhu, X., et al.; “Feature Detector and Application to HandwrittenCharacter Recognition”; International Joint Conference on NeuralNetworks, Washington, D.C.; January 1990; pp. II-457 to II-460.

What is claimed is:
 1. A programmable control responsive to an user input and a signal received from a signal source, comprising: a controller, operating according to a predetermined program, for receiving the user input and the signal and producing a control output, said controller producing a multivalued characterization of the signal with respect to at least one parameter; a memory for storing data relating to an activity of the user; a data processing system for predicting a most probable action of a user based on said stored data relating to said activity of the user and said characterized signal; and a user feedback data presenting system comprising a display device for presentation of a sequence of programming options to the user, including said most probable action of the user, in a plurality of display images, each display image differing in available programming options.
 2. The programmable control according to claim 1 being for performing an action based on user input and an information content of a signal received from a signal source, further comprising: a user controlled direct manipulation-type input device, associated with said display device, having a device output, said device output being the user input; a plant capable of performing a physical action, being responsive to an actuator signal; and said controller, being for receiving data from said device output of said input device and a signal received from a signal source, and displaying user feedback data on said display device, said user feedback data comprising a presentation of a sequence of programming options to the user on said display device, including said most probable action of the user, in a plurality of display images, each display image differing in available programming options, said sequence of programming options including at least one sequence of options sufficient to define an operable control program, and a presentation of additional programming options if said control program is not operable.
 3. The system according to claim 1, being for processing a program comprising program material, in response to a viewer input, comprising: a user input processing system for determining a viewer preference; said controller comprises a program material processing system for characterizing the program material, as said characterized signal, based on its content; a correlator for correlating said characterized content of the program material with said determined viewer preference to produce a correlation index; and a processor, selectively processing the program material based on said correlation index, wherein said viewer preference is an input to said data processing system, and said data processing system comprises said correlator.
 4. The system according to claim 3, wherein said program material is encrypted, further comprising: a decryption system for decrypting the program material if it is selected to produce unencrypted program material and optionally an associated decryption event; a memory for storing data relating to the occurrence of said decryption event; and a central database for storing data relating to the occurrence of said decryption event in association with data relating to the viewer.
 5. The system according to claim 3, wherein: said user input processing system monitors a pattern of user activity and predicts a viewer preference; said program material processing system comprises: a processor for preprocessing the program material to produce a reduced data flow information signal substantially retaining information relating to an abstract information content of the program material and selectively eliminating data not relating to said abstract information content of the program material and for characterizing said information signal based on said abstract information content; and a comparing system for determining if said correlation index is indicative of a probable high correlation between said characterization of said information signal and said viewer preference and causing said stored program material to be processed by said processor based on said determination.
 6. The system according to claim 3, wherein said processor comprises an image program material storage and retrieval system.
 7. The system according to claim 3, further comprising a memory for storing a characterization of the program material; an input for receiving a feedback signal from the viewer indicating a degree of agreement with said correlation index determination, wherein said feedback signal and said stored characterization are used by said user input processing system to predict a new viewer preference.
 8. The system according to claim 3, wherein said a program material processing system correlates and characterizes image information, further comprising: means for storing template data; means for storing the image data; means for generating a plurality of addressable domains from the stored image data, each of the domains representing a different portion of the image information; means for creating, from the stored image data, a plurality of addressable mapped ranges corresponding to different subsets of the stored image data, the creating means including means for executing, for each of the mapped ranges, a procedure upon the one of the subsets of the stored image data which corresponds to the mapped range; means for assigning identifiers to corresponding ones of the mapped ranges, each of the identifiers specifying for the corresponding mapped range an address of the corresponding subset of stored image data; means for selecting, for each of the domains, the one of the mapped ranges which most closely corresponds according to predetermined criteria; means for representing at least a portion of the image information as a set of the identifiers of the selected mapped ranges; and means for selecting, from the stored templates, a template which most closely corresponds to the set of identifiers representing the image information.
 9. The system according to claim 8 wherein said correspondence of a template and the set of identifiers is determined by a processor executing a predetermined program for executing an algorithm selected from at least one of the group consisting of algorithms for selecting a minimum Hausdorff distance between the mapped range and the domain, for selecting the highest cross-correlation of the mapped range with the domain, and for selecting the lowest mean square error of the difference between the mapped range and the domain.
 10. The system according to claim 9 wherein said correspondence of a template trial and the set of identifiers is determined by selecting, for each domain, the mapped range with the minimum modified Hausdorff distance calculated as D[db,mrb]+D[1−db,1−mrb], where D is a distance calculated between a pair of sets of data each representative of an image, db is a domain, mrb is a mapped range, I−db is the inverse of a domain, and I-mrb is an inverse of a mapped range.
 11. The system according to claim 8, wherein said means for representing further comprises means for: (a) determining a feature of interest of the image data, (b) selecting a mapped range corresponding to the feature of interest, (c) storing the identifiers of the selected mapped range, (d) selecting a further mapped range corresponding to a portion of image data having a predetermined relationship to the feature of interest, and (e) storing the identifiers of the further mapped range.
 12. The system according to claim 8, wherein said image data comprises data having three associated dimensions obtained by an image processor executing an algorithm selected from the group consisting of an algorithm for synthesizing a three dimensional representation based on a machine based prediction derived from two dimensional image data, an algorithm for synthesizing a three dimensional representation derived from a time series of pixel images, and an algorithm for synthesizing a three dimensional representation based on a image data representing a plurality of parallax views having at least two dimensions, said set of identifiers representing data in each of the three associated dimensions.
 13. A method of programming a device, comprising the steps of: providing an input for user commands and feedback; storing information relating to the user commands and feedback in a memory; providing a data input for external information; predicting a subsequent user command based on the stored information relating to user commands and feedback, a status of the device, and external information from the data input; presenting the predicted user command to the user; accepting feedback from the user relating to the predicted subsequent user command; modifying the predicted subsequent user command based on at least the feedback; and executing the modified predicted user command.
 14. The method according to claim 13, further comprising the step of identifying a user and storing an user identifier with said stored information relating to the user commands; said predicting step predicting a subsequent user command based on the stored information relating to user identifier, commands and feedback, a status of the device, and external information from the data input.
 15. A programmable device comprising: a user input for receiving an input variable having a path between a first input state and a second input state, said user input comprising: path dependent user data having transitional path information between said first input state and said second input state; and path independent user data comprising information about at least one of said first state and said second state; a filter, separating sad path dependent user data as user characterization data and said path independent user data as instructions; a memory for storing said user characterization data; a processor for executing said instructions; and a feedback device, presenting information relating to said instructions and said stored user characterization data.
 16. The device according to claim 15, further comprising: a hierarchical command structure of said processor, said command structure having commands of different function; and means for predicting a probability of execution of a plurality of commands based on said input, said feedback device presenting commands based on at least said predicted probabilities.
 17. The programmable control according to claim 1, wherein the signal comprises image information.
 18. The method according to claim 13, wherein said stored information comprises a set of weights of a predictive algorithm.
 19. The method according to claim 13, herein said external information comprises a perceptual data stream.
 20. The programmable device according to claim 15, wherein a format of information presented from said feedback device is based on said path dependent user data.
 21. A method for sending targeted content to a mobile device, the method comprising: identifying a user profile associated with a mobile device based on information received from the mobile device; receiving a position of the mobile device, wherein the mobile device calculated the position using a positioning system; selecting, based on the user profile and the position of the mobile device, customized information; and sending, for display on the mobile device, the customized information to the mobile device.
 22. The method of claim 21, wherein the information received from the mobile device includes preferences information, and wherein selecting further comprises: selecting, based on the preferences information, the customized information.
 23. The method of claim 21, wherein the customized information comprises an advertisement.
 24. The method of claim 23, wherein the advertisement concerns food.
 25. The method of claim 23, wherein the advertisement concerns fuel.
 26. The method of claim 23, wherein the advertisement concerns lodging.
 27. The method of claim 21, wherein the positioning system is a geographic positioning system (GPS).
 28. The method of claim 21, wherein the positioning system is a cellular base station.
 29. The method of claim 21, wherein the information received from the mobile device includes user preferences information, and wherein sending further comprises: sending one or more customized billboards to the mobile device dependent on demographics of a user associated with the user profile, dependent on the position of the mobile device, and dependent on the user preferences information.
 30. The method of claim 21, wherein the information received from the mobile device includes an itinerary, the method further comprising: generating the customized information dependent on the itinerary.
 31. The method of claim 21, further comprising communicating with the mobile device based on the position of the mobile device and an itinerary for vehicle travel, wherein the itinerary relates to the customized information.
 32. The method of claim 21, wherein the customized information is referred to as first customized information, and the mobile device is referred to as a first mobile device, the method further comprising: sending, for display on a second mobile device, second customized information.
 33. The method of claim 32, the positioning system is referred to as a first positioning system, the method further comprising: receiving a position of the second mobile device, wherein the second mobile device calculated the position of the second mobile device using a second positioning system; and selecting, based on the position of the second mobile device, the second customized information.
 34. The method of claim 33, wherein the user profile is referred to as a first user profile, and wherein the second customized information includes advertising information, the method further comprising: identifying a second user profile associated with the second mobile device based on information received from the second mobile device; selecting, based on the second user profile, the second customized information; and sending the second customized information including the advertising information to the second mobile device.
 35. The method of claim 34, wherein at least one of the first mobile device or the second mobile device is a phone.
 36. The method of claim 21, further comprising controlling, based on the user profile, interaction with a user of the mobile device.
 37. The method of claim 21, further comprising receiving feedback from a user associated with the mobile device via a touch screen of the mobile device, wherein the feedback is related to the customized information.
 38. The method of claim 37, wherein the feedback relates to an advertisement contained in the customized information.
 39. The method of claim 21, further comprising: receiving, in a user interaction, instructions from a user associated with the mobile device, wherein the instructions relate to the customized information; providing, in the user interaction, feedback to the user; and recording a result of the user interaction.
 40. A system for sending targeted content to a mobile device, the system comprising: a receiver configured to receive a position of the mobile device, wherein the mobile device calculated the position using a positioning system; a processor configured to: identify a user profile associated with the mobile device based on information received from the mobile device; and select, based on the user profile and the position of the mobile device, customized information; and a transmitter configured to send, for display on the mobile device, the customized information to the mobile device.
 41. The system of claim 40, wherein: the receiver is configured to receive a request for the customized information; and the transmitter is configured to send the customized information from a provider to the mobile device, wherein the customized information is dependent on the position of the mobile device, as determined by the positioning system during a time period associated with receiving the request, and dependent on at least one of the user profile or preferences information.
 42. The system of claim 41, wherein the customized information is an advertisement.
 43. The system of claim 42, wherein the advertisement concerns food.
 44. The system of claim 42, wherein the advertisement concerns fuel.
 45. The system of claim 42, wherein the advertisement concerns lodging.
 46. The system of claim 41, wherein: the positioning system is a geographic positioning system (GPS); and the GPS is configured to determine the position of the mobile device.
 47. The system of claim 41, wherein: the positioning system is a cellular base station; and the cellular base station is configured to determine the position of the mobile device.
 48. The system of claim 41, wherein: the preferences information includes user preferences information; and the transmitter is configured to send one or more customized billboards to the mobile device dependent on demographics of one or more users associated with the mobile device, dependent on the position of the mobile device, and dependent on the user preferences information.
 49. The system of claim 41, wherein: the mobile device is a cellular phone; and the cellular phone includes a display device.
 50. The system of claim 49, wherein the display device includes a touch screen.
 51. The system of claim 49, wherein the display device includes an interactive interface configured to receive instructions from one or more users and to display user feedback.
 52. The system of claim 49, wherein the display device is a video display.
 53. The system of claim 41, wherein the mobile device includes a gyroscope.
 54. The system of claim 41, wherein the user profile includes a demographic profile.
 55. The system of claim 41, wherein the mobile device is configured to identify one or more users based on a biometric.
 56. The system of claim 55, wherein the biometric is at least one of a fingerprint, a voice sample, or a video pattern.
 57. The system of claim 55, wherein the biometric comprises a fingerprint scan performed by the mobile device.
 58. The system of claim 41, wherein the customized information includes an advertisement.
 59. The system of claim 41, wherein the customized information includes a plurality of advertisements.
 60. The system of claim 41, wherein the customized information is configured to be sent via a cellular network.
 61. The system of claim 41, wherein a display device of the mobile device includes a touch screen display.
 62. The system of claim 61, wherein the touch screen display is configured to display a graphical user interface.
 63. The system of claim 41, wherein the user profile is based at least in part on prior actions of one or more users of the mobile device. 